linux 環境變量 /etc/profile、/etc/bashrc、~/.profile、~/.bashrc的區別

bashrc與profile都用於保存用戶的環境信息,bashrc用於交互式non-loginshell,而profile用於交互式login shell。

  • /etc/profile,/etc/bashrc 是系統全局環境變量設定
  • ~/.profile,~/.bashrc用戶目錄下的私有環境變量設定

 

當登入系統獲得一個shell進程時,其讀取環境設置腳本分爲三步:

  1. 首先讀入的是全局環境變量設置文件/etc/profile,然後根據其內容讀取額外的文檔,如/etc/profile.d和/etc/inputrc
  2. 讀取當前登錄用戶Home目錄下的文件~/.bash_profile,其次讀取~/.bash_login,最後讀取~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關係
  3. 讀取~/.bashrc

~/.profile與~/.bashrc的區別:

  • 這兩者都具有個性化定製功能
  • ~/.profile可以設定本用戶專有的路徑,環境變量,等,它只能登入的時候執行一次
  • ~/.bashrc也是某用戶專有設定文檔,可以設定路徑,命令別名,每次shell script的執行都會使用它一次

例如,我們可以在這些環境變量中設置自己經常進入的文件路徑,以及命令的快捷方式:

.bashrc
alias m='more'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l'
alias lsl='ls -lrt'
alias lm='ls -al|more'

log=/opt/applog/common_dir
unit=/opt/app/unittest/common

.bash_profile
. /opt/app/tuxapp/openav/config/setenv.prod.sh.linux
export PS1='$PWD#'

通過上述設置,我們進入log目錄就只需要輸入cd $log即可;

/etc/profile、/etc/bashrc的區別:

  • /etc/profile 
    此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.

  • /etc/bashrc 
    每一個運行bash shell的用戶執行此文件,當bash shell被打開時,該文件被讀取。也就是說,當用戶shell執行了bash時,運行這個文件。有些linux版本中的/etc目錄下已經沒有了bashrc文件。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章