/etc/profile
:此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息漠畜,當(dāng)用戶第一次登錄時弥搞,該文件被執(zhí)行.并從 /etc/profile.d
目錄的配置文件中搜集 shell
的設(shè)置歉胶。
/etc/bashrc
:為每一個運行 bash shell
的用戶執(zhí)行此文件灭贷。當(dāng) bash shell
被打開時愧捕,該文件被讀取谜悟。
~/.bash_profile
:每個用戶都可使用該文件輸入專用于自己使用的 shell
信息饥瓷,當(dāng)用戶登錄時舷丹,該文件僅僅執(zhí)行一次氓奈。默認(rèn)情況下翘魄,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件舀奶。
~/.bashrc
:該文件包含專用于你的 bash shell
的 bash
信息暑竟,當(dāng)?shù)卿洉r以及每次打開新的 shell
時,該該文件被讀取育勺。
~/.bash_logout
:少見但荤,但是意味著當(dāng)每次退出系統(tǒng)(退出 bash shell
)時罗岖,執(zhí)行該文件。
/etc/profile
中設(shè)定的變量(全局)的可以作用于任何用戶腹躁, 而~/.bashrc
等中設(shè)定的變量(局部)只能繼承/etc/profile
中的變量桑包,他們是"父子"關(guān)系。
通常我們修改
bashrc
文件纺非,因為有些linux
的發(fā)行版本不一定有profile
這個文件哑了。
profile
用于登錄式 shell
, 而 bashrc
用于每個交互式 shell
铐炫。
~/.bash_profile
是交互式垒手、login
方式進(jìn)入 bash
運行的。
~/.bashrc
是交互式 non-login
方式進(jìn)入 bash
運行的
通常二者設(shè)置大致相同倒信,所以通常前者會調(diào)用后者。
所以一般優(yōu)先把變量設(shè)置在 .bashrc
里面泳梆。比如在 crontab
里面執(zhí)行一個命令鳖悠,.bashrc
設(shè)置的環(huán)境變量會生效,而 .bash_profile
不會优妙。
設(shè)置生效乘综,可以使用命令:
source ~/.bashrc
,source
也可以使用.
代替套硼,即. ~/.bashrc
卡辰。