一、for循环
for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。
格式:
1 for 变量名 in 取值列表 2 do 3 命令序列 4 done 5 6 或者 7 for ((变量初始值; 变量范围; 迭代方法)) 8 do 9 命令序列 10 done
案例:批量创建用户
2 [root@localhost ~]# vim name.txt 3 创建用户名字的文件 4 [root@localhost ~]# vim user.sh 5 编辑脚本 6 #!/bin/bash 7 for i in `cat name.txt` 8 do 9 useradd $i 10 done 11 12 [root@localhost ~]# bash user.sh
创建成功
二、while循环
while语句的用法
- 重复测试某个条件,只要条件成立则反复执行
- 常在不知道范围的时候成立
格式:
while 条件判断 do 循环体 done
案例:猜数游戏
1 [root@localhost ~]# vim cai.sh 2 3 #!/bin/bash 4 pc=$[RANDOM%10+1] 5 6 ci=0 7 while true 8 do 9 read -p "请猜一个数字:" shu 10 if [ $shu -eq $pc ]; 11 then 12 echo "你猜对了" 13 break 14 elif [ $shu -gt $pc ]; 15 then 16 echo "你的数大了" 17 else 18 echo "你的数小了" 19 fi 20 let ci++ 21 done 22 echo "你输入的次数为:" $ci 23 24 [root@localhost ~]# bash cai.sh 25 请猜一个数字:1 26 你的数小了 27 请猜一个数字:0 28 你的数小了 29 请猜一个数字:9 30 你的数大了 31 请猜一个数字:7 32 你的数大了 33 请猜一个数字:5 34 你的数大了 35 请猜一个数字:4 36 你猜对了 37 你输入的次数为: 5
2.1while 读取文件内容
格式:
1 while read 变量名 2 do 3 4 done < 文件名 5 6 或者 7 cat 文件名 | while read 变量名 8 do 9 10 done
三、until循环
格式:
until 条件测试操作 do 命令操作 done
案例:计算1-50的和
1 [root@localhost demo]# vim 2.sh 2 3 #!/bin/bash 4 a=0 5 sum=0 6 until [ $a -gt 50 ] 7 do 8 sum=$[ sum + a ] 9 let a++ 10 done 11 echo "1-50的和为$sum" 12 [root@localhost demo]# bash 2.sh 13 1-50的和为1275
标签:语句,do,shell,编程,while,done,bash,root,localhost From: https://www.cnblogs.com/zhao222/p/16844605.html