Ubuntu
更改所有使用者的 PATH 環境變數。(Ubuntu)
我最近在 Ubuntu 8.04 伺服器上編譯了 Ruby Enterprise Edition (REE)。
我想更新我的 PATH 以確保這個新版本的 Ruby(在 中找到
/opt/ruby_ee/bin
)取代/usr/local/bin
. (不過,我仍然想要舊版本。)我希望這些 PATH 更改能夠影響所有使用者和 crontab。
嘗試的解決方案#1:
REE 文件建議將 REE bin 文件夾放在
/etc/environment
. 我將此文件中的 PATH 更改為:PATH="/opt/ruby_ee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
這一點都沒有影響到我
PATH
。嘗試的解決方案#2:
接下來,我按照這些說明更新了 PATH
/etc/login.defs
和/etc/crontab
. (我沒有改變/etc/sudoers
。)
PATH
即使在註銷並重新啟動伺服器後,這也不會影響我的。其他資訊:
- 我似乎遇到了與此處描述的相同的問題。
- 我正在使用命令“
echo $PATH
”和“ruby -v
”進行測試。- 我的外殼是 bash。我
.bashrc
的不會覆蓋我的 PATH。- 是的,我聽說過 Ruby 版本管理器項目。;)
您是否嘗試過更改預設的 bashrc?這應該位於 /etc/bashrc 或 /etc/bash.bashrc 中(我認為這是 Ubuntu 中的第二個)。然後在您的主目錄中,確保您的 .bash_profile 包括:
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi
這將確保在系統範圍內定義的變數被讀入使用者的 shell。預設情況下,此 if 語句應包含在您創建的 .bash_profile 中
adduser
(我知道它在 RHEL 中)。
需要明確的
/etc/environment
是,在您打開新的外殼/再次登錄之前不會載入。你註銷然後再開機嗎?