[英]sudo won't work in shell
我的以下命令有问题
sudo -u ${USER} -H sh -c "bash ${START_SCRIPT}"
我可以排除START_SCRIPT的错误,因为
bash ${START_SCRIPT}
效果很好。
我认为sudo语法肯定有问题,但是我找不到答案。 任何地方(例如, 此链接 ,Kimvais的答案或sudo手册页)都建议我上面使用的格式。
USER=some_user START_SCRIPT=/some/long/path/start.sh
我只能猜测这与长路径有关,或者我错过了sudo命令的任何参数。
在此线程中,我读到:
sudo -H -u otheruser bash -c 'echo "I am $USER, with uid $UID"'
效果很好,但是都没有
sudo -H -u otheruser bash -c '${START_SCRIPT}'
也不
sudo -H -u otheruser -c 'bash "${START_SCRIPT}"'
作品。
谁能帮我或者至少给个提示吗?
中的单引号
sudo -H -u otheruser bash -c '${START_SCRIPT}'
防止shell扩展$
。 只需使用双引号:
sudo -H -u otheruser bash -c "${START_SCRIPT}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.