Sudo

當我使用 sudo 時,為什麼這個目錄沒有被添加到我的 PATH 中?

  • March 22, 2018

我剛剛從原始碼編譯並安裝了 Apache Web 伺服器,現在我想將apachectl腳本添加到PATH.

我知道我需要將目錄添加到root使用者的目錄PATH(因為腳本需要以 root 身份執行),所以我想我會嘗試添加以下行:

  • 文件:/root/.bashrc
#
# add directory of apachectl to PATH
PATH=$PATH:/usr/local/apache2/bin

我知道我添加的路徑是正確的,但是如果我執行命令:

sudo apachectl start

我得到:

sudo: apachectl: command not found

如何將此目錄添加到我的PATH?

將目錄添加到 sudo 的方法PATH(您發現它root 的不同)是編輯sudoers文件:

sudo visudo

然後,找到這一行:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

並將您的目錄添加到它的末尾:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache2/bin"

或者,您可以只創建要執行的執行檔的符號連結並將它們/usr/local/bin直接放入:

sudo find /usr/local/apache2/bin -type f -executable -exec ln -s {} /usr/local/bin/

為您的環境添加一個別名sudo是可行的,但有點不雅,更重要的是,它只適用於一個使用者。

引用自:https://unix.stackexchange.com/questions/194593