引言
文章【沒寫完。。。】引用的博客鏈接在文章最後【感謝原博主,我只是知識的搬運工】
bashrc與profile都用於保存用戶的環境信息:
- bashrc用於交互式non-loginshell;
- profile用於交互式login shell;
- /etc/pro此文件爲系統的每個用戶設置環境信息,當第一個用戶登錄時,該文件被執行;
- /etc/bashrc:爲每一個運行bash shell的用戶執行此文件;
-
~/. pro每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,它設置一些環境變量,然後執行用戶的.bashrc文件
-
~/.bashrc:該文件包含專用於某個用戶的bash shell的bash信息,當該用戶登錄時以及每次打開新的shell時,該文件被讀取
-
/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係
總結:
- /etc/profile,/etc/bashrc 是系統全局環境變量設定
- ~/.profile,~/.bashrc用戶家目錄下的私有環境變量設定
當登入系統時候獲得一個shell進程時,其讀取環境設定檔有三步
- 首先讀入的是全局環境變量設定檔/etc/profile,然後根據其內容讀取額外的設定的文檔,如/etc/profile.d和/etc/inputrc
- 然後根據不同使用者帳號,去其家目錄讀取~/.bash_profile,如果這讀取不了就讀取~/.bash_login,這個也讀取不了纔會讀取~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關係
- 然後在根據用戶帳號讀取~/.bashrc
至於~/.profile與~/.bashrc的不區別,都具有個性化定製功能:
~/.profile可以設定本用戶專有的路徑,環境變量,等,它只能登入的時候執行一次
~/.bashrc也是某用戶專有設定文檔,可以設定路徑,命令別名,每次shell script的執行都會使用它一次