のように、各行が特定の形式に従うと予想されるファイル(またはstdin
)を1行ずつ読み込むUnixコマンドfoo
を考えてみましょう。Unixプログラムの終了ステータス規約
いずれかの行が間違っていても(すべてではありません)、終了ステータスがEXIT_SUCCESS
またはEXIT_FAILURE
である必要がありますか?私は標準を参照しようとしている
、
C11 Standard: 7.20.4.3
exit
機能
パラ5
最後に、制御がホスト環境に戻されます。 statusの値が0または
EXIT_SUCCESS
の場合、ステータス成功終了の実装定義形式は が返されます。 statusの値がEXIT_FAILURE
の場合、実装が定義された形式 のステータスが失敗したことを返します。それ以外の場合、返されるステータスは です。
上記の解釈では、「実装定義」とは、その決定が実装者に委ねられていることを意味します。この解釈は正しいのでしょうか?
C標準から派生したものから英語に翻訳されたもの:implementation = compiler、implementation-defined =コンパイラ固有の動作(システム固有の動作に依存する可能性があります) C標準のすべては、エンド・ユーザー/アプリケーション・プログラマーではなく、コンパイラーの作成者に対処するように書かれています。 – Lundin
明らかに、ジンボの様々なもの(Wikipedia)のエンポリアムからの引用:[Exit Status](https://en.wikipedia.org/wiki/Exit_status) –