HOWTO · Bash

Bash でループから抜け出す

このチュートリアルでは、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 シェル環境でのみ動作します。