为什么`bash -c echo hello` 不输出任何内容,而`bash -c "echo hello"` 输出“hello”?

Tim*_*Tim 1 bash

为什么不bash -c echo hello输出任何东西,而bash -c "echo hello"输出“你好”?

Ste*_*itt 6

bash -c echo hello
Run Code Online (Sandbox Code Playgroud)

确实输出一些东西:换行符。此命令指示 Bash 运行echo,将 $0 设置为“hello”。

bash -c "echo hello"
Run Code Online (Sandbox Code Playgroud)

另一方面,指示 Bash 运行echo hello,将 $0 设置为“bash”。