logoutとexitの違いを説明する上で、実際に試してみると分かりやすいのでメモ。 logout:ログインシェルを終了する exit :シェルを終了する ※ログインシェル:OSにログインした時点で適用されるシェ ル ※サブシェル:シェルから起動された子プロセスのシェル($ sh など) logoutでは、サブシェルは終了できない。 $ sh $ logout sh: logout: not login shell: use `exit' exitでは、ログインシェルも含むシェルを終了できる。 $ exit また、exit は引数で終了ステータスを指定できる。 $ sh $ exit 99 exit $ echo $? 99 引数を指定しなければ、終了ステータスはデフォルトの 0(←2014/10/12修正) 最後に実行したコマンドの終了ステータスになる。 $ sh $ exit exit