簡體   English   中英

sudo在shell中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM