Bash until 循环系统
评论 0
浏览 0
2019-03-03
循环是编程语言的基本概念之一。当你想反复运行一系列的命令,直到满足一个特定的条件时,循环就很方便。
在Bash这样的脚本语言中, 循环对于重复性任务的自动化非常有用.在Bash脚本中,有三种基本的循环结构:for
loop ,while
loop ,以及until
loop。
本教程解释了Bash中的until
循环的基本原理。
Bash until
循环
until
循环用于执行一组给定的命令,只要给定的条件评估为false。
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."
脚本将打印 "Waiting for the git host ..." 和 sleep
一秒,直到 git 主机上线。一旦版本库被拉出,它将打印 "The git repository is pulled."。
输出
Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...
The git repository is pulled.
总结
while
和 until
循环彼此相似。主要的区别是,只要条件评估为true
,while
循环就会迭代,只要条件评估为false
,until
循环就会迭代。
如果你有任何问题或反馈意见,请随时留言。
0 个评论