我無法理解PATH
變數是如何受 影響的sudo
。我可以以普通使用者身分執行該命令activator
,因為我已將此應用程式所在的路徑新增至該使用者的.bashrc
檔案。我還可以透過以下方式確保情況確實如此:
user@kubuntu:~$echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/activator-1.3.2
然而,當我嘗試運行時sudo activator
,我得到 sudo:
激活器:未找到指令
我嘗試透過新增路徑/opt/activator-1.3.2
來解決此問題/etc/environment
,但即使sudo echo $PATH
顯示/opt/activator-1.3.2
在 PATH 變數中,我仍然收到相同的「未找到命令」錯誤。讓我更困惑的是,如果我運行sudo su
,那麼 activator 命令運行良好。
答案1
你總是可以這樣做:
sudo env "PATH=$PATH" godi_console 作為 Debian 上的安全措施,/etc/sudoers 將 secure_path 選項設為安全值。