Bashからエラーコードの包括的な最新リストを見つけるのに苦労しています。例:
$ udevadm info /dev/sdx; echo Exit code $?
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Exit code 4
そのような終了コードをどのように検索することになっていますか?
承認された回答:
tl;dr終了コードはアプリケーション固有です。
いくつかの緩い慣習があります。 false
および!
のプレフィックスが付いた成功したもの (! true
のように )POSIXシェルでは終了コード1が返されますが、開発者は0から255までの任意の終了コードを必要に応じて使用できます。最終的には、そのドキュメント(最良の場合)またはコード(最悪の場合)を見て、それが何を意味するのかを知る必要があります。 man
を使用するプログラムの場合 ページの終了コードは、多くの場合、EXIT STATUS
という名前のセクションに表示されます。 (find
のようなGNUツール 。
いくつかの一般的な意味は、/usr/include/sysexits.h
にリストされています。 –可能な限りそれらを使用するようにしています。 @AnsgarEsztermannが指摘しているように、これらはBashリファレンスではなく、それを使用することを選択した人(主にABSによるC / C ++開発者)を除いて、アプリケーションリファレンスでもありません。