1. 程式人生 > >linux中/etc/profile中配置了環境變數,但是程式還是無法直接啟動

linux中/etc/profile中配置了環境變數,但是程式還是無法直接啟動

   安裝配置了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