![为什么 `bash -c echo hello` 不输出任何内容,而 `bash -c "echo hello"` 输出“hello”?](https://linux22.com/image/89487/%E4%B8%BA%E4%BB%80%E4%B9%88%20%60bash%20-c%20echo%20hello%60%20%E4%B8%8D%E8%BE%93%E5%87%BA%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%EF%BC%8C%E8%80%8C%20%60bash%20-c%20%22echo%20hello%22%60%20%E8%BE%93%E5%87%BA%E2%80%9Chello%E2%80%9D%EF%BC%9F.png)
为什么bash -c echo hello
不输出任何内容,而bash -c "echo hello"
输出“hello”?
答案1
bash -c echo hello
确实输出了一些东西:换行符。此命令指示 Bash 运行echo
,并将 $0 设置为“hello”。
bash -c "echo hello"
另一方面指示 Bash 运行echo hello
,将 $0 设置为“bash”。
为什么bash -c echo hello
不输出任何内容,而bash -c "echo hello"
输出“hello”?
bash -c echo hello
确实输出了一些东西:换行符。此命令指示 Bash 运行echo
,并将 $0 设置为“hello”。
bash -c "echo hello"
另一方面指示 Bash 运行echo hello
,将 $0 设置为“bash”。