文章出處

rvm安裝后會在 $HOME/.bash_profile 文件追加一行代碼:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

這行代碼的作用是在用戶登錄會話時初始化rvm。如果系統中原來沒有 .bash_profile 這個文件,rvm會自動創建這個文件,這就產生一個潛在的問題。

shell啟動時會按照一定的順序自動加載一些腳本。默認情況下(沒有.bash_profile),shell會加載 $HOME/.profile 這個文件。然而,如果 .bash_profile 存在的話,.profile 就不會被主動加載,除非 .bash_profile 有命令shell加載。.profile沒有加載的話,.bashrc 也不會被加載,因為后者是在前者的執行source命令加載的。由于很多人把個人配置項都寫在 .profile 或 .bashrc 中,rvm的做法就導致了很多個人配置就沒有生效,如環境變量等。當然,有時候這個問題不那么好發現。因為,shell因登陸方式不同,自動加載腳本的方式也有不同。所以上面的問題在桌面環境下可能發現不了,而如果通過ssh登陸(xterm),就有可能出現一種現象:ls之后,目錄和普通文件顏色都一樣了。

解決辦法很簡單,在.bash_profile后追加一行代碼即可:

[ -f $HOME/.profile ] && source $HOME/.profile

在rvm安裝以后似乎有個提示提到了.profile,但是我按照網上的文章操作,沒細看就忽略了。為什么rvm作者不自己解決一下這個問題呢?


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()