手机版
你好,游客 登录 注册
背景:
阅读新闻

Bash 中的 until 循环详解

[日期:2019-08-05] 来源:Linux公社  作者:醉落红尘 [字体: ]

循环是编程语言的基本概念之一。当你想要一遍又一遍地运行一系列命令直到达到某个条件后终止退出时,循环很方便。

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

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

Bash until 循环

until 循环用于当给定条件的计算结果为 false 时,重复执行给定的一组命令。

Bash until 循环采用以下形式:

until [CONDITION]
do
  [COMMANDS]
done

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

在下面的示例中,在每次迭代时,循环打印变量的当前值并将变量 counter 递增 1。

#!/bin/bash

counter=0

until [ $counter -gt 5 ]
do
  echo Counter: $counter
  ((counter++))
done

只要 counter 变量的值大于 5 ,循环就会终止迭代。该脚本将生成以下输出:

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."

该脚本将打印 “Waiting for the git host …” 并睡眠一秒钟直到 git 主机上线。一旦存储库被拉出,它将打印“git存储库被拉动。”。

Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...

The git repository is pulled.

结论

while 和 until 循环非常相似,只要 while 循环迭代,只要条件求值为,true并且 until 循环迭代,只要条件求值为false。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/159854.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款