一、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 条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。