バックスラッシュがゼロ以外の終了コードを生成しないのはなぜですか

バックスラッシュがゼロ以外の終了コードを生成しないのはなぜですか

実行する場合:

 true \ false; echo $?

終了コード 0 が表示されます。その理由を知っている人はいますか?

答え1

true \ false

は以下と同等である

true ' false'

これにより、シェルは(先頭のスペース文字を含む)truefalseパラメータとして実行します。使用している の実装では、trueこのパラメータは無視され、ゼロの戻り値で終了します。

答え2

trueいくつかの引数を指定してコマンドを実行するだけです。これらの引数はオプションではないため、それが何であるかは問題ではありません。

関連情報