Linux Bash shell until循环

2023年 7月 21日 86.3k 0

循环是编程语言的基本概念之一。当您想要反复运行一系列命令直到满足特定条件退出时,循环很方便就可以做到。

在Bash之类的脚本语言中,循环对于自动执行重复性任务非常有用。在Bash脚本中有3个基本的循环结构,for循环,while循环,until循环。

本教程解释了Bash中的until循环的基础知识。

Bash until 循环

只要给定条件的计算结果为false,until循环就执行给定的一组命令。

Bash直到循环采用以下形式:

until [CONDITION]
do
  [COMMANDS]
done

在执行命令之前评估条件。如果条件的计算结果为false,则执行命令。否则,如果条件的计算结果为true,则循环将终止,程序控制将传递给后面的命令。

在下面的例子中,在每次迭代循环打印变量counter的当前值。

#!/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

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.

结论

whileuntil循环是彼此相似,主要区别在于while循环迭代条件评估为trueuntil循环迭代条件评估为false

如果您有任何问题或反馈,请随时发表评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论