1.计算从1到100所有整数的和
#/bin/bash
i=0
s=1
while [ $s -lt 101 ]
do
i=$(( $i+$s ))
s=$(( $s+1))
done
echo "$i"
~
~
2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
#/bin/bash
read -p "请输入一个小于100的正整数:" n
if [ $n -gt 100 ]
then
echo "输入错误"
else
s=0
for (( i=1;i<=n;i++))
do
sum=$[sum+i]
done
echo "从1到该数的和为:$sum"
fi
~
3.求从1到100所有整数的偶数和、奇数和
#/bin/bash
read -p "请输入100以内的整数:" num
if [ $num -eq 1 ];then
echo "和等于: $num"
sum=0
sum1=0
sum2=0
elif [[ $num -gt 1 && $num -le 100 ]];then
for ((i=1; i<=$num; i++))
do
a=$[$i % 2]
if [ $a == 0 ];then
let sum=$sum+$i
elif [ $a == 1 ];then
let sum1=$sum1+$i
fi
done
let sum2=$sum+$sum1
echo "奇数和为$sum1"
echo "偶数和为$sum"
echo "整数和为$sum2"
else
echo "输入有误!"
fi
4.用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码
#!/bin/bash
read -p "输入你要查找的用户:" user
id -u $user &> /dev/null
a=$(echo $?)
while [ $a = 0 ]
do echo "此用户已存在"
break
done
while [ $a != 0 ]
do echo "此用户不存在,我们将为你重新添加该用户,并修改密码"
useradd $user
read -p "请输入新用户密码:" key
echo $key | passwd --stdin $user
echo "密码修改成功"
break
done
6.用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
第一种:
#/bin/bash
bj=3
mm=123456
for ((i=1;i<=3;i++))
do
read -p "请输入密码:" pass
if [ $mm = $pass ]
then
echo "正确"
exit
fi
echo "密码错误"
done
echo "密码三次输入错误,警告!!!"
第二种:
#/bin/bahs
n=3
a=123456
b=0
read -p "请输入密码:" m
if [ $m -eq $a ]
then
echo "输入正确"
elif [ $m -ne $a ]
then
read -p "请再次输入密码:" m1
if [ $m1 -eq $a ]
then
echo "输入正确"
elif [ $m1 -ne $a ]
then
read -p "请再次输入密码:" m2
if [ $m2 -eq $a ]
then
echo "输入正确"
elif [ $m2 -ne $a ]
then
echo "报警"
fi
fi
fi
7.编写能够自动生成一个6位随机密码的脚本
#!/bin/bash
key="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+{}:<>?[];,./"
for a in {1..6}
do
n=$[$RANDOM % ${#key}]
b=${key:$n:1}
c+=$b
done
echo "随机密码为:$c"
~
8.使用循环语句将一个 0到255 之间的十进制数转换成二进制数
#/bin/bash
read -p "请输入一个1-255之间的数字" a
if [ $a -ge 0 ] && [ $a -lt 256 ]
then
n=$a
for ((b=1;b<=8;b++))
do
s=$[ $n % 2 ]$s
n=$[ $n / 2 ]
if [ $n -lt 1 ]
then
break
fi
done
echo "$s"
fi