/etc/profile
此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.并從/etc/profile.d
目錄的配置文件中搜集shell的設置。
/etc/bashrc
為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取。
~/.bash_profile
每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次! 默認情況下,他設置一些環境變量,執行用戶的.bashrc
文件。
~/.bashrc
該文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。
~/.bash_logout
少見,但是意味著當每次退出系統(退出bash shell)時,執行該文件。
另外/etc/profile
中設定的變量(全局)的可以作用于任何用戶, 而~/.bashrc
等中設定的變量(局部)只能繼承 /etc/profile
中的變量,他們是"父子"關系。
profile
用于登錄式shell, 而bashrc
用于每個交互式shell
~/.bash_profile
是交互式、login 方式進入 bash 運行的
~/.bashrc
是交互式 non-login 方式進入 bash 運行的
通常二者設置大致相同,所以通常前者會調用后者。
所以一般優先把變量設置在.bashrc
里面。比如在crontab里面執行一個命令,.bashrc
設置的環境變量會生效,而 .bash_profile
不會。
設置生效:可以重啟生效,也可以使用命令:source
source /etc/profile