标签: shell
我试图伪造一个需要真正超级用户密码的sudo程序:
#!/bin/sh su -c "'$*'"
当我这样做时它会起作用
sudo yum
但是当我这样做时不起作用
sudo yum upgrade
或任何带参数的命令。 Bash抱怨
bash: yum upgrade command not found
为什么会这样?
答案 0 :(得分:1)
你引用错误。这种情况很少见,您实际上需要"$*"而不是"$@"。但你绝对不希望"'$*'"
"$*"
"$@"
"'$*'"