Friday, February 10, 2012

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/

Comments

One Response to “linux shell 学习笔记(三)”
  1. Mucid 说道:

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

Speak Your Mind