Shell 脚本 101:Shell 脚本中的直到循环

继续我们的系列,在今天的文章中,我们将讨论 shell 脚本中的 until 循环。 我们已经介绍过 for 循环while 循环 在我们之前的教程中的 shell 脚本中。 您会在 while 和 until 循环中发现很多相似之处,因此我们还将在本文中了解这两个循环之间的差异。

Shell脚本中的While循环与Until循环

两个循环都以非常相似的方式工作,它们接受循环继续的一个条件。 两个循环之间的主要区别在于它们根据传递给它们的条件如何表现:

  • While 循环 – 运行直到条件为 TRUE。 当条件返回 FALSE 时停止。
  • 直到循环 – 运行直到条件为 FALSE。 当条件返回 TRUE 时停止。

这个对两个循环的简单解释应该让您了解为什么有两个不同的循环而不是只有一个。

在 Shell 脚本中创建 until 循环

现在您确切地知道了 until 循环是什么,让我们深入了解它的技术方面并制作一个 until 循环。 语法与 while 循环的语法相同,因此如果您还没有阅读该教程,请继续阅读该教程。

until 循环的基本语法:

until [ condition ] do     ... commands to run ... done 

这是一个基本的直到循环的示例:

num=1 until [ $num -gt 6 ] do    echo "The variable is $num"    ((num++)) done 

在上面的例子中,我们初始化了变量 num 与价值 1. 直到循环继续运行,只要 变量 num 不大于 6. 所以循环将运行 6 次,因为直到变量条件才变为真 num 变成 7.

((i++)) 部分在我们之前的循环主题之一中进行了讨论。 但简单来说,双括号 (( )) 允许我们在其中运行 C 风格的操作 bash 脚本。

直到循环

你真的需要 until 循环吗?

嗯,是的,也不是。 until 循环类似于具有否定条件的 while 循环(使用感叹号来否定条件)。 所以这并没有太大的区别。 但是对于语义而言,拥有两个不同的循环会使阅读代码的人更容易。

结论

我们希望您了解在 shell 脚本中使用 until 循环的用法和背后的原因。 当我们继续发布关于 shell 脚本 101 的主题时,请继续跟进。