終了ステータス
bash の終了ステータスの範囲は 0 から 255 で、0 は正常終了、それ以外は異常終了である。 範囲外の整数が exit に渡された場合、終了ステータスは 256 の剰余となる。 直前のコマンドの終了ステータスは $? で取得でき、if, &&, || などの制御演算子で利用できる。
以下の終了ステータスが予約されている。
コンピュータプログラミングにおけるプロセスの終了ステータス(英: exit status)またはリターンコード(英: return code)とは、子プロセス(または呼び出された側)が具体的な手続きや委任されたタスクを実行完了した際、親プロセス(または呼び出した側)に渡す小さな数である。MS-DOSのCOMMAND.COMではERRORLEVELという。
プログラムを実行するとき、オペレーティングシステム (OS) はプロセスと呼ばれる、プログラムの「活動実体」を生成し、その中にそのプログラムのための情報を保持する。UNIXやLinuxなどのマルチタスクOSでは、新たなプロセスは動作可能プロセスとして生成される。別のプロセスを生成するプロセスを「親プロセス」と呼び、生成された側を「子プロセス」と呼ぶ。子プロセスと親プロセスは同時並行的に動作する。子プロセスが実行完了したとき、exit(英語版)システムコールを呼び出すことで終了する。このシステムコールが終了ステータスのコードを親プロセスに渡す役割を果たし、親プロセスはwait(英語版)システムコールでその値を受け取ることができる。子プロセスが exit を呼び出して終了してから、親プロセスが wait を呼び出して受け取るまでの間の、子プロセスの状態を幽霊(米国ではゾンビ)と呼ぶ。