shell脚本之case、for、while语法的使用

一.for循环
使用for循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。

1.for循环语句结构
for 变量名 in 取值列表
do
命令序列
done
举例:批量添加用户
1.首先创建一个txt文件,里面内容是要创建的用户名

 [root@ns1 ~]# vim useradd.txt
  yonghu1
  yonghu2
  yonghu3

2.创建脚本

 [root@ns1 ~]# vim useradd.sh
  #!/bin/bash 
 user=$(cat /root/useradd.txt)
 for add in $user
 do
         useradd $add
 done

二.while循环语句结构
while条件测试操作
do
命令序列
done
1.举例:批量添加规律用户

 [root@ns1 ~]# vim useradd.sh
 #!/bin/bash
 user="yonghu"
 i=1
 while [ $i -le 20 ]
 do
         useradd ${user}$i
         i='expr $i + 1'
 done

2.使用while true循环
猜数字游戏

[root@ns1 ~]# vim caishuzi.sh
#!/bin/bash
#产生一个0-99的随机数
p=$(expr $RANDOM%100)
t=0
echo "请在0-99之间猜一个数"
while true
do
        read -p "请输入你猜的数:" i
        t='expr $t + 1'
if [ $i -eq $p ]
then
        echo 恭喜你猜对了,这个数是 $p
        echo 你总共猜了 $t 次
break
elif [ $i -gt $p ]
        echo 这个数大了
else [ $i -lt $p ]
        echo 这个数小了
fi
done

三.case语句的使用
1.case语句的结构
case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……
*)
默认命令序列
esac
举例:编写一个计算器

 [root@ns1 ~]# vim jisuanqi.sh 
 #!/bin/bash
 #xsh 2020.7.30 计算器
 while true
 do
 read -p "请输入第一个数(整数):" n1
 read -p "请选择算法(+ - \* /):" s
 read -p "请输入第二个数(整数):" n2
 case $s in
         +)
         n=$(expr $n1 $s $n2)
         ;;
         -)
         n=$(expr $n1 $s $n2)
         ;;
         \*)
         n=$(expr $n1 \* $n2)
         ;;
         /)
         n=$(expr $n1 $s $n2)
         ;;
         *)
         echo "请输入正确的运算符号"
 esac
 echo $n
 done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值