[unix]シェルスクリプトの終了ステータス

2016年5月23日月曜日

bash linux unix シェルスクリプト

シェルスクリプトを作成しているときに毎回、終了ステータスをどうするか迷っていたんだけど、正常終了時は0、異常終了時は0以外くらいにしか考えてなかった。

では、どうするのがいいんだろうか。

まず、1と2はユーザ定義としては使わないほうがいいみたい。
Advanced Bash-Scripting Guide: Appendix E. Exit Codes With Special Meanings

それ以外としてはsysexits.hに定義されている値を使うのが、よさそう。
sysexits(3) FreeBSDドキュメント

例えば、パラメータ数不正なら EX_USAGE(64)、入力ファイルがないなら EX_NOINPUT(66)とか。