在本小节中,我们将学习如何在Bash Script中使用until
循环语句。
当某些条件的值为真时,while循环是执行一组命令的绝佳选择。有时,我们需要执行一组命令,直到条件评估为true
。在这种情况下,Bash until
循环很有用。
bash脚本中的Bash until
循环用于根据表达式的布尔结果重复执行一组命令。仅在表达式的值为真之前执行命令集。因此当表达式的计算结果为false
时,将迭代执行一组命令。当表达式首次为真时,循环终止。
简而言之,until
循环与while
循环相似,但是概念相反。
until
循环的语法看起来几乎类似于bash while
循环的语法。但是两者的功能都有很大的不同。bash until
循环的语法可以定义为:
until [ expression ]; do command1 command2 . . . . . . . commandN done
如果表达式中有多个条件,则语法如下:
until [[ expression ]]; do command1 command2 . . . . . . . commandN done
下面给出了until
循环的一些关键(要点):
false
时才执行命令。done
关键字之后的命令。while循环与until循环
until
循环命令,直到返回非零状态。while
循环命令,直到返回零状态。until
循环包含至少要执行一次的属性。以下是bash until循环的一些示例,这些示例说明了不同的场景之中的应用,以帮助您了解它的用法和工作方式:
示例1. 单条件until循环
在此示例中,until循环在表达式中包含单个条件。这是until
循环的基本示例,它将打印从1到10的一系列数字。
脚本文件:until-basic.sh
#!/bin/bash #Bash Until Loop example with a single condition i=1 until [ $i -gt 10 ] do echo $i ((i++)) done
执行上面示例代码,得到以下结果:
示例2. 多条件until循环
以下是在表达式中具有多个条件的示例。
脚本文件:until-basic2.sh
#!/bin/bash #Bash Until Loop example with multiple conditions max=5 a=1 b=0 until [[ $a -gt $max || $b -gt $max ]]; do echo "a = $a & b = $b." ((a++)) ((b++)) done
执行上面示例代码,得到以下结果: