while 循环是 Shell 脚本中最简单的一种循环,当条件知足时,while 重复地执行一组语句,当条件不知足时,就退出 while 循环。
Shell while 循环的用法以下:html
while condition
do
statements
doneshell
condition
表示判断条件,statements
表示要执行的语句(能够只有一条,也能够有多条),do
和done
都是 Shell 中的关键字。
while 循环的执行流程为:bash
注意,在 while 循环体中必须有相应的语句使得 condition 愈来愈趋近于“不成立”,只有这样才能最终退出循环,不然 while 就成了死循环,会一直执行下去,永无休止。
while 语句和 if else 语句中的 condition 用法都是同样的,你能够使用 test 或 [] 命令,也能够使用 (()) 或 [[]],遗忘的读者请猛击下面的连接回顾:spa
【实例1】计算从 1 加到 100 的和。.net
运行结果:
The sum is: 5050
在 while 循环中,只要判断条件成立,循环就会执行。对于这段代码,只要变量 i 的值小于等于 100,循环就会继续。每次循环给变量 sum 加上变量 i 的值,而后再给变量 i 加 1,直到变量 i 的值大于 100,循环才会中止。i++
语句使得 i 的值逐步增大,让判断条件愈来愈趋近于“不成立”,最终退出循环。
对上面的例子进行改进,计算从 m 加到 n 的值。code
运行结果:
1↙
100↙
The sum is: 5050
【实例2】实现一个简单的加法计算器,用户每行输入一个数字,计算全部数字的和。htm
运行结果:
12↙
33↙
454↙
6767↙
1↙
2↙
The sum is: 7269
在终端中读取数据,能够等价为在文件中读取数据,按下 Ctrl+D 组合键表示读取到文件流的末尾,此时 read 就会读取失败,获得一个非 0 值的退出状态,从而致使判断条件不成立,结束循环。ip