GNU/Linux >> Linux の 問題 >  >> Linux

ループするまでBash

ループはプログラミング言語の基本的な概念の1つです。ループは、特定の条件が満たされるまで一連のコマンドを繰り返し実行する場合に便利です。

Bashなどのスクリプト言語では、ループは反復的なタスクを自動化するのに役立ちます。 Bashスクリプトには、 forの3つの基本的なループ構造があります。 ループ、 while ループし、 until ループ。

このチュートリアルでは、 untilの基本について説明します Bashでループします。

バッシュuntil ループ#

until ループは、指定された条件がfalseと評価される限り、指定されたコマンドのセットを実行するために使用されます。

バッシュまで ループは次の形式を取ります:

until [CONDITION]
do
  [COMMANDS]
done

コマンドを実行する前に、条件が評価されます。条件がfalseと評価された場合、コマンドが実行されます。それ以外の場合、条件がtrueと評価された場合、ループは終了し、プログラム制御は次のコマンドに渡されます。

以下の例では、各反復で、ループは変数 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を使用する および続行 ループの実行を制御するステートメント。

バッシュuntil ループの例#

次のスクリプトは、gitホストにダウンタイムがあり、手動で git pull と入力する代わりに、役立つ場合があります。 ホストがオンラインになるまで複数回、スクリプトを1回実行できます。成功するまでリポジトリをプルしようとします。

#!/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ホストを待っています…」とsleepを出力します gitホストがオンラインになるまで1秒間。リポジトリがプルされると、「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
  1. Bashでループを作成する方法

  2. Bash Forループを並列化しますか?

  3. Bash の For ループと While ループの例

  1. BashForループガイドと例

  2. ループの維持 – Bash For、While、Until ループの例

  3. Bash while ループで and を使用する

  1. Bash for ループの例

  2. Bash ループのカウンター インクリメントが機能しない

  3. Bash:コマンド終了ステータスが 0 になるまでループする