# Continue 組込みコマンド

Continue 組込みコマンドは実行中のループの次の繰り返しに処理を移します。

## 構文

- `continue [深さ]`

- `continue -i`

## 説明

`-i` (`--iteration`) オプションを付けずに実行すると、continue コマンドは現在実行中の for ループまたは while ループまたは until ループの繰り返しを中断し、直ちに次の繰り返しを開始します (while/until ループについては、ループの実行条件の判定からやり直します)。多重ループの中で実行した場合、内側から数えて深さ番目のループに対してこの動作を行います。深さが指定されていないときは、最も内側のループに対してこの動作を行います (深さ = 1)。指定された深さが実際に実行している多重ループの深さより大きい場合は最も外側のループに対してこの動作を行います。

`-i` (`--iteration`) オプションを付けて実行すると、continue コマンドは現在実行中の​反復実行の現在のコマンドの実行を中断し、直ちに次のコマンドの実行を開始します。

## オプション

`-i`
`--iteration`

  ループではなく反復実行に対して作用します。

## オペランド

深さ

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

## 終了ステータス

`-i` (`--iteration`) オプションが指定されていないとき、continue コマンドの処理が成功すると終了ステータスは 0 です。`-i` (`--iteration`) オプションが指定されているとき、continue コマンドの処理が成功すると continue コマンドの直前に実行されたコマンドの終了ステータスが continue コマンドの終了ステータスになります。

## 補足

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

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

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

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

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

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