操作系統(tǒng) CentOS 6.5
在配置服務(wù)器時僵腺,環(huán)境變量是我們經(jīng)常打交道的東西,無論是jdk用僧、還是maven倉庫结胀,都需要用到赞咙,筆者對Linux有多種配置環(huán)境變量的方式,起到的作用也不盡相同糟港,特進(jìn)行整理攀操,方便查閱;
環(huán)境變量的配置分為兩種秸抚,一種是全局的速和,作用于所有用戶,如/etc/profile
,另一種是作用于個人的,如~/.bash_profile
,各個環(huán)境變量根據(jù)需要配置在不同的地方剥汤。
/etc/profile
此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息颠放,用戶第一次登錄時執(zhí)行,并從 /etc/profile.d
目錄的配置文件中搜集shell設(shè)置,修改需要重啟才會生效吭敢;
/etc/bashrc
為每一個運(yùn)行bash shell的用戶執(zhí)行此文件碰凶,當(dāng)bash shell被打開時,該文件被讀取省有,修改后無需重啟痒留,重新打開一個bash即可;
~/.bash_profile
此文件為每個用戶設(shè)置專屬的shell信息蠢沿,只對當(dāng)前用戶有效,用戶登錄時加載匾效,修改后需要重啟舷蟀;
~/.bashrc
該文件包含專屬于當(dāng)前用戶的bash shell的bash信息,當(dāng)?shù)卿浕虼蜷_新的shell時面哼,文件被讀取野宜,修改后重新打開一個bash即可生效,但僅對當(dāng)前用戶有效魔策;
~/.bash_logout
每次退出系統(tǒng)或退出bash shell時執(zhí)行該文件
繼承關(guān)系
-
/etc/profile
中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc
等中設(shè)定的變量(局部)只能繼承/etc/profile
中的變量,他們是"父子"關(guān)系 -
~/.bash_profile
是交互式匈子、login 方式進(jìn)入bash 運(yùn)行的,而~/.bashrc
是交互式 non-login 方式進(jìn)入bash 運(yùn)行的闯袒,通常二者設(shè)置大致相同虎敦,所以通常前者會調(diào)用后者。