9.3.22 returnコマンド(関数または外部スクリプトから復帰する)
形式
return [n]
機能
関数または外部スクリプトから復帰し,呼び出し元の処理を継続します。ただし,関数の外かつ外部スクリプトではない位置でこのコマンドを実行すると,シェルを終了します。
このコマンドは,終了コードの値とは関係なく,コマンドの構文が正しいかどうかでコマンドの正常終了およびエラー終了を決定します。
引数を指定しない場合は,最後に実行したコマンドの終了コードをこのコマンドの終了コードとして正常終了します。引数に適切な数値を指定して実行した場合は,正常終了します。引数に数字以外の文字など不適切な値を指定して実行した場合は,エラー終了します。エラー終了のとき,コマンドの終了コードは1を返します。
引数
- n 〜<符号なし整数>((0〜255))
復帰時の終了コードを指定します。
nを指定しなかった場合,最後に実行したコマンドの終了コードを返して復帰します。
nに256以上の値を指定した場合,nの値を256で割った余りを終了コードとして,正常終了します。
nに負の値を指定した場合,指定した値の2の補数を終了コードとして,正常終了します。
終了コード
終了コード |
意味 |
---|---|
0〜255 |
正常終了
|
1 |
エラー終了
|
注意事項
nには負の値および256以上の値も指定できますが,JP1/Advanced Shellでは0〜255の範囲内の値を指定することを推奨します。
この特殊組み込みコマンドは,コマンドの構文を誤るとコマンドを実行しているシェルが終了します。
「&」やコマンド置換など,別プロセスでreturnコマンドを実行する場合は,「5.1.7 別プロセスでの実行」に示す注意事項もあわせて参照してください。
使用例
関数または外部スクリプトから終了コード2で復帰し,呼び出し元の処理を継続します。
return 2