上一篇我们使用了if来控制执行,然后我们熟悉shell的循环命令for、while和until。
for命令,允许你创建一个遍历一系列值的循环。
在每次遍历中,变量var会包含list中的当前值。第一次迭代会使用list中的第一个值,第二次迭代使用list第二个值,以此类推,直到列表中的所有值都过一遍。在do和done语句之间输入的命令可以是一条或多条标准的shell命令。
输出:
这里看到有趣的是最后一次迭代后,$var变量的值会在shell脚本的剩余部分一直保持有效。它会一直保持最后一次迭代的值(除非你修改了它),这个和有些语言的局部类的定义是不同的。以下在done外面输出$var。
日志输出:
当然还可以是下面的写法,这个就接近我们平时的语法拉
当然类似C的语法,也可以用多个变量
while命令允许定义一个要测试 的命令,然后循环执行一组命令,只要定义的测试命令返回的是退出状态码0。它会在每次迭代的 一开始测试test命令。在test命令返回非零退出状态码时,while命令会停止执行那组命令。
我们可以写个例子:
输出:
until命令和while命令工作的方式完全相反。until命令要求你指定一个通常返回非零退 出状态码的测试命令。只有测试命令的退出状态码不为0,bash shell才会执行循环中列出的命令。 一旦测试命令返回了退出状态码0,循环就结束了
写一个例子:
日志输出:
当然这里面还有很多小细节的东西,这里没有类列出来!
下节再续!
有什么讨论的内容,可以加我公众号: