while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:
while command do Statement(s) to be executed if command is true done
命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。
以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true。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