`bash -c echo hello`は何も印刷しませんが、 `bash -c "echo hello"`は "hello"を印刷するのはなぜですか?

`bash -c echo hello`は何も印刷しませんが、 `bash -c "echo hello"`は "hello"を印刷するのはなぜですか?

なぜ「hello」bash -c echo hello以外には何も出力しないのですか?bash -c "echo hello"

答え1

bash -c echo hello

実際に何かが出力されます:改行文字です。このコマンドは、Bashechoに$ 0を "hello"に設定して実行するように指示します。

bash -c "echo hello"

一方、Bashに実行を指示し、echo hello$ 0を "bash"に設定します。

関連情報