はじめに
Bashスクリプトでは、 break ステートメントは、ループステートメント内の制御を提供するのに役立ちます。終了条件まで待つ代わりに、 break ステートメントは、終了条件が発生する前にループを終了するのに役立ちます。
制御ループステートメント( break 続行)if elif elseなどの条件ステートメントと論理的に組み合わせて、ループ内に特別な状況を作成します。
このチュートリアルでは、 breakの使用方法を説明します Bashスクリプトループで効率的にステートメントを作成します。
前提条件
- macOSまたはLinuxを実行しているマシン。
- Bashスクリプトの基本(スクリプトの作成や実行など)
- nanoなどのBashスクリプトの例を作成するためのテキストエディタ。
bashbreakステートメント
ブレーク ステートメントは、現在のループの反復を終了し、ループを終了します。条件と組み合わせると、 break エンドケースが発生する前にループを終了する方法を提供するのに役立ちます。
バッシュbreak ステートメントは常にループに適用されます。
構文は次のとおりです。
break <integer>
整数値はオプションであり、 1 デフォルトでは。数値は、ブレークの深さを定義します ネストされたループの場合。したがって、ネストされたforループから抜け出すには、 break 2を使用します。 。
バッシュブレイクの例
以下の例は、 breakを使用してさまざまなループタイプを終了する方法を示しています。 声明。例は次のとおりです。
- 標準の
while、for、およびuntilループします。 選択コマンド。
以下の各Bashスクリプトの例には、説明が付いています。
whileループからの脱却
breakを使用します whileを終了するステートメント 特定の条件が実現したときにループします。次のスクリプトはbreakを使用しています while内 ループ:
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '2' ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
スクリプトの各行は次のことを行います:
- 3行目 変数
iを定義および設定します0へ 。 - 5行目
whileを開始します ループ。終了条件は、変数が11未満の場合です($ i -lt 11。 - 7行目
ifを使用してチェックを実行します 声明。変数が2に等しい場合("$ i" ==2)、プログラムはwhileを終了します Bashを使用してループするbreak10行目のステートメント 。その場合、コードは16行目にジャンプします 。変数が異なる数値の場合、スクリプトは12行目で期待どおりに続行されます 。
スクリプトを実行して結果を確認します。
プログラムは、 2までの番号を一覧表示します スクリプトを終了します。
breakInsideforループの使用
for ループは変数を自動的にインクリメントします。条件ステートメントを追加してforを終了するには 早めにループし、 breakを使用します 声明。次のコードは、 breakの使用例を示しています。 for内 ループ:
#!/bin/bash
for i in {1..10}
do
if [[ $i == '2' ]]
then
echo "Number $i!"
break
fi
echo "$i"
done
echo "Done!"
整数値が2に等しい場合( $ i =='2' )、プログラムはメッセージを出力し、 forを終了します breakのおかげでループします ステートメント。
その結果、スクリプトを実行すると、変数 iのときにプログラムが終了します。 2に到達し、コードの最後の行にジャンプします。
までループから抜ける
バッシュまで loopは、3つの基本的なループ構造の1つです。 breakを追加します プログラムフローを制御し、別の条件下でループを終了するステートメント。
以下はサンプルプログラムです:
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 2 ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
まで ループに終了条件が含まれています( $ i -gt 10 )、ループ本体に別の条件が含まれています( $ i -eq 2 )。 2番目の条件は最初の条件の前に発生するため、プログラムは ifに入ります。 ステートメントの本文。ループを終了するためのBashbreakステートメントが含まれています。
スクリプトを実行すると、変数 iのときにプログラムが終了することがわかります。 値2に到達します 。
選択したループ内でブレークを使用する
選択コード> コマンドはメニューを作成し、プライマリループ構造の1つではありませんが、無限ループのように動作します。 selectを終了するには エレガントなステートメントで、プログラムが終了するケースを作成し、 breakを使用します ループを離れます。
以下のコードは、 selectを使用したテキストによる数字推測ゲームを示しています。 ステートメント:
#!/bin/bash/
PS3="Guess my favorite number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 2 ]]
then
echo "Correct! $i is my favorite. Thanks for playing!"
break
fi
echo "Not my favorite. Try again!"
done
コードは次のことを行います:
- 3行目 指示メッセージを表示します。
選択コード>ステートメントは、すべてのオプションをリストした後、およびそれぞれの誤った推測の後に、このメッセージを出力します。 - 5行目
selectを開始します ステートメントであり、オプションを数値として定義します110へ 。 - 8行目 選択した数が
2に等しいかどうかを確認します 、これは正しい推測です。チェックに合格すると、Bash breakステートメントはループを終了し、ゲームを終了するのに役立ちます。
スクリプトを実行して、数字を推測するゲームをプレイします。
結果を確認するには、さまざまな値を入力してください。
スクリプトをさらに開発するには、 elifを追加してみてください 範囲外の入力をチェックするステートメント、またはさまざまな入力状況を検討するためのcaseステートメントに変更するステートメント。