1.计算从1到100所有整数的和
#!/bin/bash
a=0
for i in {1..100}
do
a=$[$a + $i]
done
echo
2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
#!/bin/bash
read -p "请输入数值,后帮你就是1到输入数的和:" a
i=0
for ((f=0;f<=a;f++))
do
i=$[i+f]
done
echo "100以内的和" $i
3.求从1到100所有整数的偶数和、奇数和
#!/bin/bash
i=0
y=0
for ((f=1;f<=100;f+=2))
do
i=$[i+f]
done
echo "100以内的奇和" $i
for ((x=0;x<=100;x+=2))
do
y=$[y+x]
done
echo "偶数和" $y
4.用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码
read -p "请输入你要查询的用户:" ming
for y in $(cat /root/users.txt)
do
useradd $y &> /dev/null
echo "123456" | passwd --stdin $y &> /dev/null
done
id -u $ming &> /dev/null
if [ $? -eq 0 ]
then
echo "当前用户以存在"
else
read -p "当前用户不存在请输入密码创建用户 :" mi
useradd $ming &> /dev/null
echo $mi | passwd --stdin $ming
5.检测指定范围主机是否通信,并将通信的主机ip输出到文件host_ip中
#!/bin/bash
read -p“请输入起始IP: " a
read -p“请输入结束IP: " b
ao=0
for ( (i=$a;i<=$b;i++))
do
ao=$( expr $ao +1)
c=192.168.10.$i
if [ $i - gt 1 ] && [ $i - lt 255 ]
then
ping -c3 -i 0.5 -w 2 $c &> /dev/null
if [ $?= 0 ]
then
echo "$c:正在通信中" > /shell/host_ip
else
echo "$c:不在通信中"
fi
else
echo "$i输入错误"
fi
done
if [ $ao = 0 ]
then
echo "输入有误"
fi
6.用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
#!/bin/bash
chi=2
mm="123456"
dnang=0
while true
do
dnang=$((dnang+1))
read -p "请输入密码" ss
if [ $ss == $mm ]
then
echo "密码正确"
exit
elif [ $dnang -le $chi ]
then
echo "密码错误"
continue
else
echo "你以连续$dnang次错误"
exit
fi
done
7.编写能够自动生成一个6位随机密码的脚本
#!/bin/ bash
x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
pass=' '
for i in {1..8}
do
n=$[ RANDOM % 62 ]
y=${x:$n : 1}
pass=${pass}$y
done
echo $pass
8.使用循环语句将一个 0到255 之间的十进制数转换成二进制数
#!/bin/bash
read -p "输入0-255之间的整数:" i
if [ $i -ge 0 ] && [ $i -lt 256 ]
then
num=$i
for ((j=1; j<=8; j++))
do
sum=$[ $num % 2 ]$sum
num=$[$num / 2]
done
echo "$sum"
fi