問題:卸載原有版本jdk后,如下圖在/etc/profile中配置新的環境變量且source /etc/profile 生效配置后,JAVA_HOME值都正確,但PATH變量值還是不對
echo $PATH環境變量的值如下圖:還保留了之前jdk版本的路徑/usr/java/jdk1.8.0_171/bin
($PATH的默認值應該是.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/sbin),但樓主這卻是停留在/usr/java/jdk1.8.0_171/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/share/apache-maven/bin:/root/bin;由此可見必有某處對PATH進行了設置,下面開始找問題咯~
1,檢查.bash_profile是否對PATH值有設置
2,檢查.bashrc是否對PATH值有設置
3,/etc/environment是否對PATH值有設置 樓主以上三個里面都沒有對PATH值進行設置
4,核查/etc/profile文件中有沒有設置錯,樓主此處還是沒有設置錯,轉5
5, 檢查/etc/profile.d/ 這個目錄下面有地方設置PATH環境變量沒:轉折來了
maven.sh文件很可疑,vim maven.sh
果不其然其中對PATH值進行了設置,修改為初始值(如下圖)或者刪掉該設置
resource /etc/profile.d/maven.sh 和/etc/profile
再次echo $PATH 或者export -p發現PATH變量就變正確了,以上問題就解決了
ps:畫外音,當PATH命令沒設置對的時候,可能會遇到除cd,source命令外很多系統命令不可用,此時加上指令存放的位置就能執行了~ 例如:/usr/bin/vim /etc/profile.d/maven.sh 按此方法將PATH設置正確后,問題就能解決啦~
最后:一般來說,比較友好的方式是不會直接設置在 /etc/profile 里面,可以設置在 /etc/profile.d 這個目錄下,或者 .bashrc 和 .bash_profile這幾個文件里面
以上~