linux shell 学习笔记(三)
2010-07-28 by zhiwei
八、shell中的循环语句
shell中的循环语句有for循环语句、while循环语句和until循环语句。
1. for循环语句
原型一:
1 2 3 4 5 | for 变量 in 取值集合 for 变量 in 取值集合 do 语句 done |
原型二:
1 2 3 4 | for 变量 in 文件正则表达式 do 语句 done |
原型三:
1 2 3 4 | for 变量 in $* do 语句 done |
例:
1 2 3 4 5 6 | #!/bin/bash
address=(beijing tianjin shandong)
for i in ${address[*]}
do
echo $i
done |
说明:
循环输出数组中的值。
2. while循环语句
原型:
1 2 3 4 | while 条件测试语句 do 语句 done |
while语句的执行过程是:先测试测试语句是否为真,若为真则执行循环体,当执行完当前命令后,再进行条件测试,直到条件结果为假,循环结束。条件测试语句既可以是test语句也可以是运行命令的返回值,若返回值大于0,则表示条件为真,否则条件为假。
例:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash str="" echo "input a str:" read str while [ $str != "quit" ] do echo "your input is :"$str echo "input your str:" read str done |
说明:
3. until循环语句
until语句是while语句的一种变形,原型如下:
1 2 3 4 | until 条件测试语句 do 语句 done |
如果条件为假则执行,否则不执行。
另外还有以下语句和循环语句合用。
①、break语句
break语句是一个退出循环的命令,主要用于多层循环的嵌套退出,一般用法如下:
break [n]
其中,n用来表示跳出几层循环,默认值为1,即退出本次循环。
②、continue语句
continue语句与break语句有相同之处,都用于终止本次循环,区别在于,bread语句是退出整个循环而continue语句只是退出本次循环,继续执行下一循环体。continue语句原型如下:
continue [n]
其中,n用来表示跳出几层循环,默认值为1,即退出本次循环。
③exit语句
exit语句是退出正在执行的shell脚本,可以主动指定返回值,其原型如下:
exit [n]
其中,n是主动设定的返回值。如果未显示给定n的值,则该值默认为最后一次命令的执行状态作为返回值。
© 2010, chenzhiwei.net. 版权所有.
本文永久链接:http://chenzhiwei.net/2010/07/linux-shell-study-notes-part-3/

呃,木有用过untill循环,那个变量好多$滴符号啊。。