Break 組込みコマンドは実行中のループを中断します。

構文

  • break [深さ]

  • break -i

説明

-i (--iteration) オプションを付けずに実行すると、break コマンドは現在実行中の for ループまたは while ループまたは until ループを中断します。多重ループの中で実行した場合、内側から数えて深さ番目のループを中断します。深さが指定されていないときは、最も内側のループを中断します (深さ = 1)。指定された深さが実際に実行している多重ループの深さより大きい場合は最も外側のループを中断します。

-i (--iteration) オプションを付けて実行すると、break コマンドは現在実行中の​反復実行を中断します。

オプション

-i
--iteration

ループではなく反復実行を中断します。

オペランド

深さ

内側から何番目のループを中断するのかを指定する 1 以上の自然数です。

終了ステータス

ループの中断に成功すると終了ステータスは 0 です。反復実行の中断に成功すると break コマンドの直前に実行されたコマンドの終了ステータスが break コマンドの終了ステータスになります。

補足

Break コマンドは​特殊組込みコマンドです。

POSIX にはオプションに関する規定はありません。よってオプションは POSIX 準拠モードでは使えません。

POSIX では、break コマンドを構文的に取り囲んでいないループの扱いを規定していません。例えば以下のような場合が該当します:

  • ループの中で​関数が実行され、その中で break コマンドが実行される

  • ループの実行中に​トラップが実行され、その中で break コマンドが実行される

Yash では、このようなループは break の対象に出来ません。