概述
本文旨在复习shell实现循环结构的3种语句for、while和until,循环比较以及如何跳出循环
知识储备
循环结构是在一定条件下反复执行某段程序的流程结构,循环语句是实现该结构的表现形式
循环语句通常有for语句、while语句和until语句,语句有2部分组成
循环体:被反复执行的可怜的程序片段
循环终止条件:满足该条件后,从反复执行中解脱出来
跳出循环有break命令、continue命令,在本文最后做阐述
循环语句我以结构流程图、代码实现[代码格式]、具体例子来阐述
For循环语句
流程图
代码实现
1 | for 变量 in 列表 |
● 请注意:列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。
具体例1:求1+2+3+4+...+100的和
1 | #!/bin/bash |
具体例2:列出当前目录下所有文件名一次一行
1 | #!/bin/bash |
具体例3:For循环另外一种形式写法[类C语言写法]
1 | #!/bin/bash |
While循环语句
流程图
代码实现
1 | while command(通常为测试条件) |
具体例子:用While语句实现1+2+3+4+...+100的和
1 | #!/bin/bash |
● 请注意:while当条件为真时继续执行循环体,当条件为假跳出循环
Until循环语句
流程图
代码实现
1 | until command(一般为条件表达式) |
具体例子:用until语句打印输出A,B,C,D...T结束
1 | #!/bin/bash |
3种循环比较
循环主要有2种结构
● 从上面流程图,显然可以看出while循环是"当型的",until循环是"直到的"
● 根据具体应用场景区别使用,不过总体来说3种循环for最常用,其他的结构清晰,使用效果差别不大
跳出循环
在循环过程中,只有达到循环结束条件时才能跳出循环。但有时候需要强制跳出循环,Shell中使用break和continue命令来实现这一功能,不过俩者是有区别的。
● Break命令强制跳出所有循环(终止执行后面的所有循环,可以加参数N跳出第N层循环)。
具体例1:系统问你Lance是否帅气?只有回答yes才能跳出循环,否则陷入无限问的死循环
1 | #!/bin/bash |
● 请注意:如果有多层嵌套循环,使用break可以跳出指定N层的循环
具体例2:这里的break 2 就是跳出内部的for var2循环,不加参数默跳出整个循环,即退出shell了
1 | for var1 in 1 2 3 |
● Continue命令强制跳出当前所在循环[本质是进行下一次循环]
具体例1:从1到50的所有奇数中找出能被3整除的,不能整除的打印Can't
1 | #!/bin/bash |
转载于:https://blog.51cto.com/bluebox/1696847
最后
以上就是悦耳大树为你收集整理的[9-13]Shell系列4——循环结构for、while、until及跳出循环的全部内容,希望文章能够帮你解决[9-13]Shell系列4——循环结构for、while、until及跳出循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复