linux中/etc/profile中配置了環境變數,但是程式還是無法直接啟動
阿新 • • 發佈:2018-12-30
安裝配置了Hive程式,正常可以啟動,也在/etc/profile中配置了環境變數,但是直接命令列hive啟動失敗
1./etc/profile中的部分配置資訊:
export HIVE_HOME=/opt/modules/hive-0.13.1-cdh5.3.6
export PATH=$PATH:$HIVE_HOME/bin
export HBASE_HOME=/opt/modules/hbase
export PATH=$PATH:$HBASE_HOME/bin
直接echo $HIVE_HOME也沒有問題
2.直接命令列輸入hive啟動失敗,進入hive安裝目錄則會啟動成功
[ [email protected] ~]$ hive
bash: hive: command not found...
既然顯示在bash中找不到hive命令,那麼就是bash配置出問題了 ,首先有一個問題要明白,為什麼配置了/etc/profile環境變數後,程式就可以直接啟動,而不用進入安裝環境後啟動?因為/etc/profile這個檔案是每個使用者登入時都會執行的環境變數設定(對所有使用者生效(永久的)。
然而每個使用者還有個自己的環境變數在當前$HOME/.bash_profile(/home/robot/.bash_profile)。修改這個檔案中變數只會對當前使用者有效,比如系統使用者是robot。這裡之所以配置了系統環境變數而沒有用,是因為當前使用者載入的是自己的環境變數。覆蓋了系統的環境變數
1. 所以這裡只需要將PATH=$PATH:$HOME/.local/bin:$HOME/bin註釋掉即可。
2.然後 source .bash_profile即可。這時候直接執行hive即可啟動hive程式。
[[email protected] ~]$ cat ./.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs #需要將下面這一行註釋掉,這樣系統就會直接使用系統環境變數,而不是自己的 #PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH