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