例如
~/Desktop/scripts
是$PATH
cat ~/Desktop/scripts/hi
#!/bin/bash
echo hi
我已經試過(當前目錄爲〜):
hi # CLI said "hi"
sudo -E hi # sudo: hi: command not found
se hi # sudo: hi: command not found # alias se="sudo -E "
如何sudo的腳本?
例如
~/Desktop/scripts
是$PATH
cat ~/Desktop/scripts/hi
#!/bin/bash
echo hi
我已經試過(當前目錄爲〜):
hi # CLI said "hi"
sudo -E hi # sudo: hi: command not found
se hi # sudo: hi: command not found # alias se="sudo -E "
如何sudo的腳本?
嘗試以下操作:
sudo PATH="${PATH}" bash -c "hi"
有關說明,請參見man sudoers的(5):
默認情況下,env_reset選項啓用。這會導致命令在新的最小環境中執行。在AIX(以及沒有PAM的Linux系統)上,環境使用/ etc/environment文件的內容進行初始化。除了env_check和env_keep選項允許的調用過程的變量以外,新環境還包含TERM,PATH,HOME,MAIL,SHELL,LOGNAME,USER,USERNAME和SUDO_ *變量。這實際上是環境變量的白名單。
Thx。但是'sudo:hi:command not found':( –
將〜/桌面/腳本更改爲完整路徑,例如/ home/user/Desktop/scripts –
您的'PATH'點是正確的''sudo PATH =「$ {PATH }「bash hi'的作品! –
第一修復她爆炸,應該是'#!/ bin中/不帶空格 – Inian
你可以嘗試爲'須藤-E慶典〜/ hi' – Inian
@Inian bash'我有固定的她 - 爆炸和'sudo -E bash〜/ hi'報告'沒有這樣的文件或目錄' –