将命令作为字符串传递给 shell sudo bash –c "ls -l /home" 会出现错误 bash: –c: 没有这样的文件或目录

将命令作为字符串传递给 shell sudo bash –c "ls -l /home" 会出现错误 bash: –c: 没有这样的文件或目录
$ bash –c  "ls -l /home"
bash: –c: No such file or directory

我不明白为什么会出现此错误。我知道如果您将命令作为字符串传递给 shell,那么它应该能够 ls,对吗?

请有人能帮我理解一下吗?谢谢

答案1

如果你使用bash它来执行一个脚本

bash /path/to/myscript.sh

你不需要它在 shell 中执行命令,只需执行

ls -l /home

您收到的错误是因为选项-c不存在。为了查看命令的选项,您可以执行

bash --help

相关内容