国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux下設(shè)定環(huán)境變量的方法介紹

2020-07-10 11:56:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
那么需要將export命令寫(xiě)入某個(gè)系統(tǒng)文件中,擁有這種功能的文件常見(jiàn)的有如下幾個(gè):
/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc等。
有這么多可以用,到底它們有什么區(qū)別,誰(shuí)先誰(shuí)后呢?
首先,來(lái)看看這幾個(gè)文件都是干什么的:
1./etc/environment–>是系統(tǒng)在登錄時(shí)讀取的第一個(gè)文件,用于為所有進(jìn)程設(shè)置環(huán)境變量。系統(tǒng)使用此文件時(shí)并不是執(zhí)行此文件中的命 令,而是根據(jù)KEY=VALUE模式的代碼,對(duì)KEY賦值以VALUE,因此文件中如果要定義PATH環(huán)境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可。
2./etc/profile–>是系統(tǒng)登錄時(shí)執(zhí)行的第二個(gè)文件,可以用于設(shè)定針對(duì)全系統(tǒng)所有用戶(hù)的環(huán)境變量。
3.~/.profile–>是對(duì)應(yīng)當(dāng)前登錄用戶(hù)的profile文件,用于定制當(dāng)前用戶(hù)的個(gè)人工作環(huán)境。
4./etc/bash.bashrc–>是針對(duì)所有用戶(hù)的bash初始化文件,在此中設(shè)定的環(huán)境變量將應(yīng)用于所有用戶(hù)的shell中,此文件會(huì)在用戶(hù)每次打開(kāi)shell時(shí)執(zhí)行一次。
5.~/.bashrc–>是對(duì)應(yīng)當(dāng)前登錄用戶(hù)的bash初始化文件,當(dāng)用戶(hù)每次打開(kāi)shell時(shí),系統(tǒng)都會(huì)執(zhí)行此文件一次。
那么根據(jù)以上描述,這幾個(gè)文件的執(zhí)行先后順序應(yīng)當(dāng)是:
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
為了驗(yàn)證此順序是否正確,這里可以做一個(gè)小試驗(yàn),假定我們登錄的用戶(hù)名為xyz。在/etc/environment中加入一行:
ENV_MSG=”this is /etc/environment”
這樣也就是添加了一個(gè)環(huán)境變量ENV_MSG,然后在/etc/profile中加入兩行代碼:
echo $ENV_MSG >> /home/xyz/log.txt
echo “this is /etc/profile” >> /home/xyz/log.txt
這樣,如果/etc/environment在profile之前被系統(tǒng)讀取,則在/home/xyz/log.txt 中會(huì)先后打印出EVN_MSG的值和 this is /etc/profile這兩條消息。
在/home/xyz/.profile中加入一行代碼:
echo “this is .profile” >> /home/xyz/log.txt
在/etc/bash.bashrc中加入一行代碼:
echo “this is /etc/bash.bashrc” >> /home/xyz/log.txt
在/home/xyz/.bashrc中加入一行代碼:
echo “this is .bashrc” >> /home/xyz/log.txt
然后,重啟計(jì)算機(jī),看看log.txt文件中會(huì)是什么樣子。
啟動(dòng)計(jì)算機(jī)后以xyz用戶(hù)登錄并立即打開(kāi)/home/xyz/log.txt,可以看到文件中有如下三行消息:
this is /etc/environment
this is /etc/profile
this is .profile
這說(shuō)明系統(tǒng)在啟動(dòng)登錄的過(guò)程中依次讀取執(zhí)行了/etc/enviroment 、/etc/profile和~/.profile中的內(nèi)容。
然后打開(kāi)一個(gè)shell窗口,log文件中就會(huì)增加兩行消息:
this is /etc/bash.bashrc
this is .bashrc
這說(shuō)明在打開(kāi)shell過(guò)程中,系統(tǒng)又依次執(zhí)行/etc/bash.bashrc和~/.bashrc。如果關(guān)閉shell窗口后再次打開(kāi)一個(gè)新的 shell窗口,則log文件中會(huì)又增加兩行同樣的消息。由此可以獲知,每次打開(kāi)一個(gè)新shell,系統(tǒng)都會(huì)重復(fù)執(zhí)行這兩個(gè)文件,而不會(huì)再動(dòng)那頭三個(gè)文件 的內(nèi)容。
接下來(lái)我們?cè)俅蜷_(kāi)/etc/environment ,把剛才寫(xiě)入的那行改成ENV_MSG=”this is not /etc/environment”,然后注銷(xiāo),重新以xyz登錄,結(jié)果會(huì)發(fā)現(xiàn)log文件中會(huì)又多了三行:
this is not /etc/environment
this is /etc/profile
this is .profile
這也就看出來(lái),注銷(xiāo)重登錄也會(huì)引發(fā)系統(tǒng)對(duì)這三個(gè)文件的讀取與執(zhí)行。
不過(guò),如果按下Ctrl+Alt+F1,然后登錄xyz,那么log文件中會(huì)多出來(lái)如下幾行,這又是怎么回事呢?
this is /etc/bash.bashrc
this is /etc/environment
this is /etc/profile
this is .bashrc
this is .profile
 
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 井研县| 容城县| 平乡县| 金平| 兰西县| 揭东县| 二连浩特市| 松滋市| 东山县| 任丘市| 织金县| 汾阳市| 舟山市| 江永县| 丰台区| 阿鲁科尔沁旗| 德庆县| 长垣县| 怀安县| 江口县| 新巴尔虎左旗| 广元市| 巴南区| 沂南县| 闸北区| 贺兰县| 茶陵县| 教育| 敦化市| 若羌县| 新沂市| 宝坻区| 靖远县| 南皮县| 乡城县| 区。| 临泽县| 江山市| 吐鲁番市| 岑巩县| 商洛市|