一.for循环使用for循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。
1.for循环语句结构
for 变量名 in 取值列表
do
命令序列
done
举例:批量添加用户
1.首先创建一个txt文件,里面内容是要创建的用户名
[root@ns1 ~]# vim useradd.txtyonghu1yonghu2yonghu3
2.创建脚本
[root@ns1 ~]# vim useradd.sh#!/bin/bashuser=$(cat /root/useradd.txt)for add in $userdouseradd $adddone
二.while循环语句结构
while条件测试操作
do
命令序列
done
1.举例:批量添加规律用户
[root@ns1 ~]# vim useradd.sh#!/bin/bashuser=\"yonghu\"i=1while [ $i -le 20 ]douseradd ${user}$ii=\'expr $i + 1\'done
2.使用while true循环
猜数字游戏
[root@ns1 ~]# vim caishuzi.sh#!/bin/bash#产生一个0-99的随机数p=$(expr $RANDOM%100)t=0echo \"请在0-99之间猜一个数\"while truedoread -p \"请输入你猜的数:\" it=\'expr $t + 1\'if [ $i -eq $p ]thenecho 恭喜你猜对了,这个数是 $pecho 你总共猜了 $t 次breakelif [ $i -gt $p ]echo 这个数大了else [ $i -lt $p ]echo 这个数小了fidone
三.case语句的使用
1.case语句的结构
case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……
*)
默认命令序列
esac
举例:编写一个计算器
[root@ns1 ~]# vim jisuanqi.sh#!/bin/bash#xsh 2020.7.30 计算器while truedoread -p \"请输入第一个数(整数):\" n1read -p \"请选择算法(+ - \\* /):\" sread -p \"请输入第二个数(整数):\" n2case $s in+)n=$(expr $n1 $s $n2);;-)n=$(expr $n1 $s $n2);;\\*)n=$(expr $n1 \\* $n2);;/)n=$(expr $n1 $s $n2);;*)echo \"请输入正确的运算符号\"esacecho $ndone