Shell while循环

半兽人 发表于: 2016-09-17   最后更新时间: 2018-11-15 23:34:40  
{{totalSubscript}} 订阅, 3,795 游览

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,按结束循环。

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
更新于 2018-11-15
在线,1小时前登录

自由如风 3年前

COUNTER='expr $COUNTER+1'
应该是
COUNTER=expr $COUNTER+1 或者 $(expr $COUNTER+1)

查看shell更多相关的文章或提一个关于shell的问题,也可以与我们一起分享文章