Shell脚本while、until循环语句简明教程


一、while循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:

while 命令

do

    command1

    command2

    ...

    commandN

done

命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么条件返回真。COUNTER从0开始,每次循环处理时,COUNTER加1。运行上述脚本,返回数字1到5,然后终止。

COUNTER=0

while [ $COUNTER -lt 5 ]

do

    COUNTER='expr $COUNTER+1'

    echo $COUNTER

done

运行脚本,输出:
1
2
3
4
5

while循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量FILM,按<Ctrl-D>结束循环。

echo 'type <CTRL-D> to terminate'

echo -n 'enter your most liked film: ''

while read FILM

do

    echo "Yeah! great film the $FILM"

done

运行脚本,输出类似下面:
type <CTRL-D> to terminate
enter your most liked film: Sound of Music
Yeah! great film the Sound of Music

二、until循环

until循环执行一系列命令直至条件为真时停止。until循环与while循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。

until循环格式为:

until 条件

    command1

    command2

    ...

    commandN

done

条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。

Shell脚本break和continue命令简明教程
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。break命令break命令允许跳出所有循环

Shell脚本函数定义和函数参数
一、Shell函数本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。shell允许将一组命令集或语句形成

让代码整洁、过程清晰的BASH Shell编程技巧
这是我写BASH程序的招式。这里本没有什么新的内容,但是从我的经验来看,人们爱滥用BASH。他们忽略了计算机科学,而从他们的程序中创造的是大泥球