linux下的環境變量

/etc/profile,/etc/bashrc 是系統全局環境變量設定
~/.profile,~/.bashrc用戶家目錄下的私有環境變量設定
當登入系統時候得到一個shell進程時,其讀取環境設定檔有三步
1首先讀入的是全局環境變量設定檔/etc/profile,而後根據其內容讀取額外的設定的文檔,如
/etc/profile.d和/etc/inputrc
2而後根據不一樣使用者賬號,去其家目錄讀取~/.bash_profile,若是這讀取不了就讀取~/.bash_login,這個也讀取不了纔會讀取
~/.profile,這三個文檔設定基本上是同樣的,讀取有優先關係
3而後在根據用戶賬號讀取~/.bashrc
至於~/.profile與~/.bashrc的不區別
都具備個性化定製功能
~/.profile能夠設定本用戶專有的路徑,環境變量,等,它只能登入的時候執行一次
~/.bashrc也是某用戶專有設定文檔,能夠設定路徑,命令別名,每次shell script的執行都會使用它一次 java

 

詳細介紹:linux

linux中有兩個重要的文件:/etc/profile和$HOME/.bash_profile:
每當系統登錄時都要讀取這兩個文件,用來初始化系統所用到的變量,其中/etc/profile是超級用戶所用(對全部用戶起做用),$HOME/.bash_profile(隱藏文件)是每一個用戶本身獨立的,咱們能夠修改該文件來設置一些變量
/etc/profile
每一個用戶登陸時都會運行的環境變量設置,當用戶第一次登陸時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置,例如JDK配置
export JAVA_HOME=/usr/local/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$HOME/.bash_profile
每一個用戶home目錄下都有這樣的一個隱藏文件.bash_profile,這個用來初始化系統變量,俗稱環境變量,只不過只是針對本身來用,
好比安裝postgresql的時候,新建一個postgres用戶,在這個用戶下.bash_profile,配置以下:
# postgres
PGDATA=/usr/local/pgsql/data
PATH=/usr/local/pgsql/bin:$PATH
export PGDATA PATH
表示:能夠直接執行/usr/local/pgsql/bin下的命令,不用加命令sql

修改這兩個文件以後,還須要使其生效:
source /etc/profile 和 source .bash_profile 或者. .bash_profileshell