問題還原: 咱們都知道,要修改centos的全局配置,能夠在/etc/profile這個文件裏面修改,好比,我須要修改JAVA_HOME變量 ,那麼通常來講咱們只要在其中修改,source 一下就好了。linux
可是我此次遇到的狀況是:查看 /etc/profile裏,JAVA_HOME的路徑,與我修改的新的路徑是一致的,centos
使用$JAVA_HOME 查看,以下圖:bash
可是問題來了,過了一下子,又跳到了另一個類似但不一樣的目錄:服務器
通過排查,發現問題出如今:./bashrc 這個文件裏,blog
.bashrc:這個文件主要保存我的的一些個性化設置,如命令別名、路徑等。也即在同一個服務器上,只對某個用戶的個性化設置相關。變量
通常會在.bash_profile文件中顯式調用.bashrc。登錄linux啓動bash時首先會去讀取~/.bash_profile文件,這樣~/.bashrc也就獲得執行了,你的個性化設置也就生效。配置
個人理解是這樣的: 你在bashrc裏面定義優先級應該是高於 profile裏面的內容的,因此若是兩個文件profile和bashrc裏面對同一個 設置、路徑進行了定義,那麼系統則會優先選擇bashrc的內容。file
因此,針對我遇到的這個JAVA_HOME路徑問題,我採起的解決方法是:直接bashrc裏面的定義。方法
固然你也能夠留下bashrc裏面的定義,刪掉profile的定義。im