Bash until循环
时间:2020-03-05 15:31:41 来源:igfitidea点击:
循环是编程语言的基本概念之一。
当我们要一遍又一遍地运行一系列命令直到满足特定条件时,循环很方便。
在Bash等脚本语言中,循环对于自动执行重复性任务很有用。
Bash脚本中有3种基本的循环构造,即“ for”循环,“ while”循环和“ until”循环。
本教程介绍了Bash中“ until”循环的基础。
Bash“until”循环
只要给定条件的值为假,“ until”循环将用于执行给定的命令集。
Bash的“until”循环采用以下形式:
until [CONDITION] do [COMMANDS] done
在执行命令之前先评估条件。
如果条件评估为假,则执行命令。
否则,如果条件评估为真,则循环将终止,程序控制将传递给随后的命令。
在下面的示例中,在每次迭代中,循环都会打印变量“ counter”的当前值,并将变量加1.
#!/bin/bash counter=0 until [ $counter -gt 5 ] do echo Counter: $counter ((counter++)) done
只要“ counter”变量的值大于4,循环就会循环。
该脚本将产生以下输出:
Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5
使用“ break”和“ continue”语句来控制循环执行。
Bash“until”循环示例
当git主机宕机时,以下脚本可能会很有用,我们不必一次多次键入'git pull'直到主机联机,而可以运行一次该脚本。
它将尝试拉存储库直到成功。
#!/bin/bash until git pull &> /dev/null do echo "Waiting for the git host ..." sleep 1 done echo -e "\nThe git repository is pulled."
该脚本将显示“正在等待git主机……”并“睡眠”一秒钟,直到git主机上线。
一旦存储库被拉出,它将打印“ git存储库被拉出”。
Waiting for the git host ... Waiting for the git host ... Waiting for the git host ... The git repository is pulled.