Yash マニュアル: return 組込みコマンド
Author: magicant
Description: Yash の return 組込みコマンドについて

# Return 組込みコマンド

Return 組込みコマンドは現在実行中の関数またはスクリプトの実行を終了します。

## 構文

- `return [終了ステータス]`

## 説明

関数の実行中に return コマンドを実行すると、その関数の実行を終了します。ドットコマンドでファイルを開いてコマンドを実行している途中に return コマンドを実行すると、そのファイルの読み込み・実行を終了します。Eval コマンドでコマンドを実行している途中に return コマンドを実行すると、そのコマンドの実行を終了します。これ以外の場合に return コマンドを実行すると、(対話モードのときを除いて) シェルは終了します。

## オプション

なし

## オペランド

終了ステータス
  Return コマンドの終了ステータスを指定する 0 以上の自然数です。
  このオペランドが与えられていない場合は、return コマンドの直前に実行されたコマンドの終了ステータスを用います (ただしトラップを実行中の場合はトラップに入る直前のコマンドの終了ステータス)。

## 終了ステータス

Return コマンドの終了ステータスはオペランドで与えられた値です。Return コマンドの終了ステータスは return コマンドが終了する関数・ドットコマンド・eval コマンド・シェル自身の終了ステータスにもなります。

## 補足

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

POSIX では、終了ステータスの値は 0 以上 256 未満でなければならないとしています。Yash では拡張として 256 以上の値も受け付けるようになっています。

POSIX では関数あるいはドットコマンドの実行中以外における return コマンドの動作を定めていません。