Exit 組込みコマンドコマンドはシェルの実行を終了します。
exit [-f] [終了ステータス]
Exit コマンドは、このコマンドを実行したシェル (またはサブシェル) を終了します。
停止しているジョブのある対話モードのシェルを終了しようとすると、シェルは警告を表示し、終了しません。-f
(--force
) オプションを付けて実行するか exit コマンドを二連続で実行すると警告を無視してシェルを終了します。
シェル終了時のトラップが設定されている場合は、シェルが終了する前にそれが実行されます。
-f
, --force
Exit コマンドはシェルを終了するので、exit コマンドそのものの終了ステータスはありません。終了するシェルの終了ステータスは、オペランドで与えられた数を 256 で割った余りになります。
例外として、exit コマンドが警告を表示して、シェルを終了しなかった場合、exit コマンドの終了ステータスは非 0 です。
Exit コマンドは特殊組込みコマンドです。
POSIX では、終了ステータスの値は 0 以上 256 未満でなければならないとしています。Yash では拡張として 256 以上の値も受け付けるようになっています。
POSIX には -f
(--force
) オプションに関する規定はありません。よってこのオプションは POSIX 準拠モードでは使えません。
シェル終了時のトラップの実行中に exit コマンドを実行すると、再びトラップが実行されることはなくそのままシェルは終了します。このとき exit コマンドに終了ステータスが与えられていない場合は、もし終了時のトラップが設定されていなかった場合にシェルが返したろう終了ステータスでシェルは終了します。(シェルの終了も参照)