shell学习之循环命令

上一篇我们使用了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,循环就结束了 

 写一个例子:

 日志输出:

当然这里面还有很多小细节的东西,这里没有类列出来!

下节再续!

有什么讨论的内容,可以加我公众号:

猜你喜欢

转载自blog.csdn.net/woshiyexinjie/article/details/82263416