目录:
一.while循环与until循环
二.循环控制语句continue break shift
三.特殊用法
一.while循环与until循环
-
1.while循环
while CONDITION; do 循环体 done
- CONDITION:循环控制条件;进入循环之前,先做一次判 断;每一次循环之后会再次做判断;条件为真,则执行 一次循环;直到条件测试状态为假终止循环。
-
2.until
until CONDITION; do 循环体 done
until循环与while循环相反CONDITION:循环控制条件为假,则执行 一次循环;直到条件测试状态为真终止循环。
例子:显示1-5的数字#!/bin/bash n=0 while [ $n -lt 5 ];do let n=$n+1 echo $n done
-
until写法
#!/bin/bash n=0 until [ $n -eq 5 ];do let n=$n+1 echo $n done
二.循环控制语句
continue break shift
** 1.continue[N] :提前结束第N层的本轮循环,而直接进入下一 轮判断;最内层为第1层while CONDTIITON1; do
CMD1 ...
if CONDITION2; then
continue
fi
CMDn
...
done -
2.break [N]:提前结束第N层循环,最内层为第1层
while CONDTIITON1; do
CMD1 ...
if CONDITION2; then
break
fi
CMDn
...
done我们对第一个例子做点修改 在其中加上continue和break
#!/bin/bash n=0 while [ $n -lt 5 ];do let n=$n+1 if [ $n -eq 3 ];then continue fi echo $n done
-
加入continue时输出结果为1245
#!/bin/bash n=0 while [ $n -lt 5 ];do let n=$n+1 if [ $n -eq 3 ];then break fi echo $n done
-
加入break的输出结果为12
由此可以总结出两者的区别为continue是结束当轮循环
break是结束当层循环
3.shift [n] 用于将参量列表 list 左移指定次数,缺省为左移一次。 参量列表 list 一旦被移动,最左端的那个参数就从列表中删除。#!/bin/bash while [ $# -ne 0 ] ;do echo $1 shift done 输入1 2 3 4 5 每次显示第一个数 [root@centos6 app]# ./while.sh 1 2 3 4 5 1 2 3 4 5
三.特殊用法
while read line; do
循环体
done < /PATH/FROM/SOMEFILE
(遍历文件的每一行) - 例子
-
查看一个文件
[root@centos6 app]# cat 123.txt 1 2 3 4 5
-
编写脚本
#!/bin/bash while read line ;do n=$[$line+1] echo $n done</app/123.txt 把所取的变量都加1 执行脚本输出结果为 [root@centos6 app]# ./while.sh 2 3 4 5 6
转载于:https://blog.51cto.com/13572749/2090930