# 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 には `-i` (`--interact`) オプションに関する規定はありません。よってこのオプションは POSIX 準拠モードでは使えません。

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

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

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

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