for语句的结构(读取不同的变量值,用来逐个执行同一组命令)
批量添加用户,设置密码脚本1
[root@localhost script]
a1
a2
a3
a4
a5
a6
[root@localhost script]
users=$(cat users1.txt)
for user in $users
do
useradd $user
echo "$user:123" | chpasswd
chage -d 0 $user
done
批量添加用户,设置密码脚本2
for ((i=1;i<=15;i++))
do
if [ $i -lt 10 ]
then
useradd userb0$i
echo "userb0$i:123" | chpasswd
chage -d 0 userb0$i
else
useradd userb$i
echo "userb$i:123" | chpasswd
chage -d 0 userb$i
fi
done
while语句的结构(重复测试某个条件,只要条件成立则反复执行)
求1-n的和脚本
read -p "please input num(<100):" num
i=1
sum=0
while [ $i -le $num ]
do
sum=`expr $sum + $i`
let i++
done
echo "1-$num sum is $sum"
批量添加用户,设置密码脚本
i=1
while [ $i -le 15 ]
do
if [ $i -lt 10 ]
then
useradd stu0$i
echo "stu0$i:123456" | chpasswd
else
useradd stu$i
echo "stu$i:123456" | chpasswd
fi
let i++
done
猜一个随机生成的数字脚本
rdn=$(expr $RANDOM % 100)
while true
do
read -p "pleace input number:" num
if [ $num -eq $rdn ]
then
echo "true"
exit
elif [ $num -gt $rdn ]
then
echo "high"
else
echo "low"
fi
done
case语句的结构(针对变量的不同取值,分别执行不同的命令序列)
判断输入的字符是什么类型的脚本
read -p "please input key:" key
case "$key" in
[a-z]|[A-Z])
echo "char"
;;
[0-9]|[0-9][0-9])
echo "number"
;;
*)
echo "other"
esac