Bash でループから抜け出す

MD Aminul Islam 2023年6月20日
  1. Bash で while ループを抜け出す
  2. Bash の for ループから抜け出す
  3. Bash の until ループから抜け出す
Bash でループから抜け出す

ループの操作は、どのプログラミング言語またはスクリプト言語でも共通のタスクです。 ループを操作するとき、事前に定義された条件下でループを停止する必要がある場合があります。

他のプログラミング言語やスクリプト言語と同様に、Bash はキーワード break を使用してループを停止します。

この記事では、ループの実行を停止する方法を示します。 また、トピックを理解しやすくするために、必要な例と説明を使用してトピックについて説明します。

最もよく使用される 3つのループ、whilefor、および until を停止します。 1つずつ始めましょう。

Bash で while ループを抜け出す

while ループでキーワード break を使用できます。 このようにして、指定した条件で while ループの実行を停止できます。

以下の例を見てください。

i=0
while [[ $i -lt 15 ]]
do
        if [[ "$i" == '4' ]]
        then
                echo "Number $i! We are going to stop here."
                break
        fi
        echo $i
        ((i++))
done
echo "We are stopped!!!"

上記の例では、i の値が 4 に等しいときに while ループを停止しました。

上記の Bash スクリプトを実行すると、次のような出力が得られます。

0
1
2
3
Number 4! We are going to stop here.
We are stopped!!!

Bash の for ループから抜け出す

キーワード break を使用して、特定の条件で for ループを停止することもできます。 これを行うには、次の例を参照してください。

for i in {1..15}
do
        if [[ $i == '5' ]]
        then
                echo "Number $i! We are going to stop here."
                break
        fi
        echo "$i"
done
echo "We are stopped!!!"

上記の例では、i の値が 5 に等しいときに for ループを停止しました。

上記の Bash スクリプトを実行すると、次の出力が得られます。

1
2
3
4
Number 5! We are going to stop here.
We are stopped!!!

Bash の until ループから抜け出す

Bash には、until という名前の別の一般的なループがあり、キーワード break で停止することもできます。 until を停止するには、以下の例に従ってください。

i=0
until [[ $i -gt 15  ]]
do
        if [[ $i -eq 5  ]]
        then
                echo "Number $i! We are going to stop here."
                break
        fi
        echo $i
        ((i++))
done
echo "We are stopped!!!"

上記の例では、i の値が 5 に等しいときに until ループを停止します。

上記の Bash スクリプトを実行すると、次のような出力が得られます。

0
1
2
3
4
Number 5! We are going to stop here.
We are stopped!!!

ループに基づいて、上記の方法のいずれかを選択できます。

この記事で使用するコードはすべて Bash で記述されています。 Linux シェル環境でのみ動作します。

著者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

関連記事 - Bash Loop