このトピックでは、Bash スクリプトで while ループ ステートメントを使用する方法を説明しました。
の bash while ループ は、適用された条件が true と評価される限り、指定された一連のコマンドを繰り返し実行できるようにする制御フロー ステートメントとして定義できます。たとえば、echo コマンドを何度も実行することも、テキスト ファイルを 1 行ずつ読み取って、Bash の while ループを使用して結果を処理することもできます。
Bash While ループの構文
Bash while ループの形式は次のとおりです。
第 3 正規形
while [ expression ]; do commands; multiple commands; done
上記の構文は、式に単一の条件が含まれる場合にのみ適用されます。
式に複数の条件を含める場合、while ループの構文は次のようになります。
while [ expressions ]; do commands; multiple commands; done
while ループのワンライナー構文は次のように定義できます。
while [ condition ]; do commands; done while control-command; do Commands; done
「while ループ」ステートメントにはいくつかの重要なポイントがあります。
- コマンドを実行する前に条件がチェックされます。
- 「while」ループは、「for ループ」が実行できるすべての作業を実行することもできます。
- 「do」と「done」の間のコマンドは、条件が true と評価される限り繰り返し実行されます。
- 「while」ループの引数にはブール式を指定できます。
使い方
while ループは制限されたエントリ ループです。これは、while ループのコマンドを実行する前に条件がチェックされることを意味します。条件が true と評価されると、その条件に続く一連のコマンドが実行されます。それ以外の場合、ループは終了し、プログラム制御は「done」ステートメントに続く他のコマンドに渡されます。
Bash While ループの例
次に、bash while ループの例をいくつか示します。
単一条件の While ループ
この例では、while ループが式内の単一の条件とともに使用されます。これは、ユーザー入力に従って一連の数値を出力する while ループの基本的な例です。
例
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
出力
複数の条件を含む While ループ
以下は、式に複数の条件を含む while ループの例です。
例
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
出力
Javaで配列をソートする方法
無限の While ループ
無限ループとは、終わりや終了がないループです。条件が常に true と評価される場合、無限ループが作成されます。ループは、 CTRL+C を使用して強制的に停止されるまで継続的に実行されます。
例
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
上記のスクリプトを次のように 1 行で記述することもできます。
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
出力
ここでは、常に true を返す組み込みコマンド (:) を使用しています。以下のように、組み込みコマンド true を使用して無限ループを作成することもできます。
例
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
この bash スクリプトは、上記の無限スクリプトと同じ出力も提供します。
注: 無限ループは、CTRL+C を使用するか、スクリプト内に条件付き終了を追加することで終了できます。
Break ステートメントを使用した While ループ
Break ステートメントを使用すると、適用された条件に従ってループを停止できます。例えば:
例
#!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done
出力
スクリプトによれば、ループは 10 回反復するように割り当てられています。ただし、8 回の反復後に反復を中断してループを終了する条件があります。スクリプトを実行すると、次の出力が表示されます。
Continue ステートメントを使用した While ループ
continue ステートメントを使用すると、while ループ内の特定の条件の反復をスキップできます。
例
#!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.'
出力
Linuxのファイルシステム
C スタイルの While ループ
C プログラミング言語の while ループと同様に、bash スクリプトで while ループを記述することもできます。
例
#!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>