'\" te .\" Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .TH exit 1 "2011 年 7 月 12 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 exit, return, goto \- シェルの連続した処理を分岐して実行するためのシェル組み込み関数 .SH 形式 .SS "sh" .LP .nf \fBexit\fR [\fIn\fR] .fi .LP .nf \fBreturn\fR [\fIn\fR] .fi .SS "csh" .LP .nf \fBexit\fR [( \fIexpr\fR )] .fi .LP .nf \fBgoto\fR \fIlabel\fR .fi .SS "ksh88" .LP .nf \fB*exit\fR [\fIn\fR] .fi .LP .nf \fB*return\fR [\fIn\fR] .fi .SS "ksh" .LP .nf \fB+exit\fR [\fIn\fR] .fi .LP .nf \fB+return\fR [\fIn\fR] .fi .SH 機能説明 .SS "sh" .sp .LP \fBexit\fR はシェルまたはシェルスクリプトを \fIn\fR で指定した終了ステータスで終了させます。\fIn\fR を省略すると、最後に実行されたコマンドの終了ステータスがシェルの終了ステータスになります (\fBEOF\fR によっても、シェルは終了します)。 .sp .LP \fBreturn\fR は関数を、\fIn\fR が示す戻り値で終了させます。\fIn\fR を省略すると、リターンステータスは最後に実行された コマンドのリターンステータスになります。 .SS "csh" .sp .LP \fBexit\fR はシェルまたはシェルスクリプトを終了させ、ステータス変数の値または式 \fBexpr\fR で指定された値が返されます。 .sp .LP \fBgoto\fR 組み込み関数は \fIlabel\fR をコマンド中で検索の引数として指定します。シェルは可能なかぎり入力をさかのぼり、 \fIlabel\fR\fB:\fR という形式の行を探します。 label: の前にはスペース文字またはタブ文字がある可能性もあります。指定された行の次から実行が再開します。\fBwhile\fR または \fBfor\fR 組み込みコマンドと、対応する \fBend\fR との間にあるラベルへジャンプするとエラーになります。 .SS "ksh88" .sp .LP \fBexit\fR はシェルまたはシェルスクリプトを \fIn\fR で指定した終了ステータスで終了させます。具体的には、指定した値の最下位 8 ビットが終了ステータスの値となります。\fIn\fR を省略すると、最後に実行されたコマンドの終了ステータスがシェルの終了ステータスになります。トラップ実行中に \fBexit\fR が発生した場合、ここで言う最後に実行されたコマンドとは、トラップ呼び出し直前に実行されたコマンドを指します。なお、\fBignoreeof\fR オプション (後述の \fBset\fR を参照) が有効になっているシェルを除き、ファイルの終わりを検出した場合もシェルが終了します。 .sp .LP \fBreturn\fR はシェル関数または \fB\&'.'\fR スクリプトを、\fIn\fR で指定された戻りステータスで呼び出し側スクリプトに戻します。具体的には、指定した値の最下位 8 ビットが終了ステータスの値となります。\fIn\fR を省略すると、戻りステータスは最後に実行された コマンドの戻りステータスになります。\fBreturn\fR を関数や \fB\&'.'\fR スクリプト実行中以外で起動すると、結果は \fBexit\fR と同一になります。 .sp .LP このマニュアルページでは、1 つまたは 2 つの \fB*\fR (アスタリスク) が先頭に付加されている \fBksh88\fR(1) コマンドは、次のような特殊な扱いを受けます。 .RS +4 .TP 1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。 .RE .RS +4 .TP 2. \fB入出力のリダイレクトは変数代入後に行われます。\fR .RE .RS +4 .TP 3. エラーが発生すると、それを含むスクリプトは中止されます。 .RE .RS +4 .TP 4. 変数代入形式で、\fB**\fR を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は \fB=\fR 符号のあとに実行され、ワード分割とファイル名生成は実行されません。 .RE .SS "ksh" .sp .LP \fBexit\fR は、シェルの特殊組み込みコマンドであり、exit を呼び出したシェルを終了させます。\fBEXIT\fR トラップが設定されている場合は、シェルが終了する前に、そのトラップが呼び出されます。 .sp .LP \fIn\fR が指定されている場合、終了ステータスを設定するために使用されます。 .sp .LP \fBreturn\fR は、シェルの特殊組み込みコマンドであり、return を呼び出した関数またはドットスクリプトを終了させます。\fBreturn\fR を関数またはドットスクリプトの外部で呼び出した場合、return は \fBexit\fR と同等になります。\fB\fR .sp .LP \fBreturn\fR を、\fBfunction\fR 予約語構文を使用して定義されている関数の内部で呼び出した場合、関数が戻る前に、呼び出し側のコンテキストで、関数内に設定されているすべての \fBEXIT\fR トラップが呼び出されます。 .sp .LP \fIn\fR が指定されている場合、終了ステータスを設定するために使用されます。 .sp .LP このマニュアルページでは、1 つまたは 2 つの \fB+\fR 記号が先頭に付加されている \fBksh\fR コマンドは特殊組み込みコマンドであり、次のような特殊な処理を受けます。 .RS +4 .TP 1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。 .RE .RS +4 .TP 2. 入出力のリダイレクトは変数代入後に行われます。 .RE .RS +4 .TP 3. エラーが発生すると、それを含むスクリプトは中止されます。 .RE .RS +4 .TP 4. これらは有効な関数名ではありません。 .RE .RS +4 .TP 5. 変数代入形式で、\fB++\fR から始まるコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は \fB=\fR 符号のあとに実行され、フィールド分割とファイル名生成は実行されません。 .RE .SH 終了ステータス .SS "ksh" .sp .LP \fBexit\fR で \fIn\fR が指定されている場合、終了ステータスは \fIn\fR の値の最下位 8 ビットとなります。それ以外の場合、終了ステータスは、前のコマンドの終了ステータスとなります。トラップの内部で呼び出された場合、前のコマンドとは、トラップを呼び出したコマンドを意味します。 .sp .LP \fBreturn\fR で \fIn\fR が指定されている場合、終了ステータスは \fIn\fR の値の最下位 8 ビットとなります。それ以外の場合、終了ステータスは、前のコマンドの終了ステータスとなります。 .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os .TE .SH 関連項目 .sp .LP \fBbreak\fR(1), \fBcsh\fR(1), \fBksh\fR(1), \fBksh88\fR(1), \fBsh\fR(1), \fBattributes\fR(5)