linux中環(huán)境變量在哪個(gè)文件
Linux中包含環(huán)境變量的配置文件有多個(gè):1、“/etc/profile”文件,該文件配置的環(huán)境變量將應(yīng)用于登錄到系統(tǒng)的每一個(gè)用戶;2、“/etc/bashrc”,修改該文件配置的環(huán)境變量將會(huì)影響所有用戶使用的bash shell;3、“/etc/environment”,該文件包含與系統(tǒng)運(yùn)行相關(guān)但與用戶無關(guān)的環(huán)境變量;4、“~/.profile”;5、“~/.bashrc”。
程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
一、環(huán)境變量介紹:
在Linux系統(tǒng)中,環(huán)境變量按照其作用范圍不同大致可以分為系統(tǒng)級(jí)環(huán)境變量和用戶級(jí)環(huán)境變量。
- 系統(tǒng)級(jí)環(huán)境變量:每一個(gè)登錄到系統(tǒng)的用戶都能夠讀取到系統(tǒng)級(jí)的環(huán)境變量;
- 用戶級(jí)環(huán)境變量:每一個(gè)登錄到系統(tǒng)的用戶只能夠讀取屬于自己的用戶級(jí)的環(huán)境變量;
自然而然地,環(huán)境變量的配置文件也相應(yīng)的被分成了系統(tǒng)級(jí)和用戶級(jí)兩種。
二、系統(tǒng)級(jí):
1、/etc/profile
在系統(tǒng)啟動(dòng)后第一個(gè)用戶登錄時(shí)運(yùn)行,并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置,使用該文件配置的環(huán)境變量將應(yīng)用于登錄到系統(tǒng)的每一個(gè)用戶。
提示:在Linux系統(tǒng)中,使用以下命令可以使配置文件立刻生效。
source /etc/profile echo $PATH
2、/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)
在 bash shell 打開時(shí)運(yùn)行,修改該文件配置的環(huán)境變量將會(huì)影響所有用戶使用的bash shell。
注意:這里的bash shell有不同的類別,不同的類別所使用的環(huán)境變量配置文件也有所不同。
一般情況下,非登錄shell不會(huì)執(zhí)行任何profile文件,非交互shell模式不會(huì)執(zhí)行任何bashrc文件。
3、/etc/environment
在系統(tǒng)啟動(dòng)時(shí)運(yùn)行,用于配置與系統(tǒng)運(yùn)行相關(guān)但與用戶無關(guān)的環(huán)境變量,修改該文件配置的環(huán)境變量將影響全局。
三、用戶級(jí):
1、~/.profile(推薦首選)
~/.profile: executed by Bourne-compatible login shells.
當(dāng)用戶登錄時(shí)執(zhí)行,每個(gè)用戶都可以使用該文件來配置專屬于自己使用的shell信息。
2、~/.bashrc
~/.bashrc: executed by bash(1) for non-login shells.
當(dāng)用戶登錄時(shí)以及每次打開新的shell時(shí)該文件都將被讀取,不推薦在這里配置用戶專用的環(huán)境變量,因?yàn)槊块_一個(gè)shell,該文件都會(huì)被讀取一次,效率肯定受影響。
生效用:source
bashrc和profile的差異
從上面的英文描述可以知道,bashrc和profile的差異在于:
注意:通常我們修改bashrc,有些linux的發(fā)行版本不一定有profile這個(gè)文件;
- 1. bashrc 是在系統(tǒng)啟動(dòng)后就會(huì)自動(dòng)運(yùn)行。
- 2. profile 是在用戶登錄后才會(huì)運(yùn)行。
- 3. 進(jìn)行設(shè)置后,可運(yùn)用source bashrc命令更新bashrc,也可運(yùn)用source profile命令更新profile。
- 4. /etc/profile中設(shè)定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系。
3、~/.bash_profile 或 ~./bash_login
~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile"
when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login").
However, these files won't influence a graphical session by default.
以上是ubuntu官網(wǎng)給出的關(guān)于~/.bash_profile 和 ~./bash_login 的說明,翻譯為中文:
~/.bash_profile 或 ~./bash_login -
如果有其中的一個(gè)文件存在的話, 當(dāng)啟動(dòng)的是一個(gè)登錄shell時(shí),Bash 會(huì)執(zhí)行該文件而不會(huì)執(zhí)行~/.profile ;
如果兩個(gè)文件都存在的話,Bash 將會(huì)優(yōu)先執(zhí)行~/.bash_profile 而不是~/.bash_login ;
然而, 默認(rèn)情況下,這些文件不會(huì)影響圖形會(huì)話。
4、~/.bash_logout
當(dāng)每次退出系統(tǒng)(退出bash shell)時(shí)執(zhí)行該文件。
注意:Linux系統(tǒng)使用 $VARIABLE_NAME 訪問環(huán)境變量,多個(gè)環(huán)境變量之間使用 “:”分隔,Windows系統(tǒng)使用 %VARIABLE_NAME% 訪問環(huán)境變量,多個(gè)環(huán)境變量之間使用 ; 分隔。
相關(guān)推薦:《Linux視頻教程》
以上就是linux中環(huán)境變量在哪個(gè)文件的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。