while循环也叫当型循环,格式如下,do与done之间为循环体:
或者为:
while先判断它后面的命令的退出状态,退出状态为0时(命令成功时,当while循环的条件成立时),关键字do之后的命令开始执行,执行到关键字done后,关键字while后面的命令再次执行,如果退出状态还是0(循环条件还是成立),循环将继续进行,即循环体内的命令继续执行……当while循环条件不再成立时,循环结束。
while循环的流程如图6-3所示。
图6-3 while循环流程图
上面的例子,先将i的初值赋为1,接着判断i是否小于或等于3,因为1小于或等于3,所以显示i=1,再将i的值加1;i的值变为2,因为2还是小于或等于3,所以显示i=2,再将i的值加1;i的值变为3,因为3仍然小于或等于3,所以显示i=3,再将i的值加1;i的值变为4,i不再小于或等于3,条件不再成立,循环结束,循环体内的命令不再执行。脚本的运行结果如下:
while循环也可以是无穷循环。
(www.xing528.com)
上面的例子中,5本来就小于10,就是说循环条件永远都是成立的。运行该脚本会一直显示Nicetomeetyou,可以按下〈Ctrl+C〉键强行终止它。
内置命令true的退出状态总是0(成功),使用whiletrue可以构成无穷循环。例如:
运行while_true_infinite_loop.sh,得到的结果与while_infinite_loop.sh的相同:
while循环也可以是零循环,即,循环体内的命令一次也没有运行。
在上面的脚本中,i的初值被赋为100,接着判断i是否小于或等于3。显然100大于3,条件不成立,while循环直接结束。运行脚本while_no_loop.sh将没有任何显示输出。
内置命令false的退出状态总是1(失败),使用whilefalse也可以组成零循环,运行下面的脚本while_false_no_loop.sh将没有任何显示:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。