佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > linux下設(shè)定環(huán)境變量的方法介紹

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

熱門標(biāo)簽:電話機(jī)器人搭建 解決方案 外呼系統(tǒng) 硅谷的囚徒呼叫中心 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 家政服務(wù)網(wǎng)絡(luò) 服務(wù)器配置 美團(tuán)
那么需要將export命令寫入某個系統(tǒng)文件中,擁有這種功能的文件常見的有如下幾個:
/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc等。
有這么多可以用,到底它們有什么區(qū)別,誰先誰后呢?
首先,來看看這幾個文件都是干什么的:
1./etc/environment–>是系統(tǒng)在登錄時(shí)讀取的第一個文件,用于為所有進(jìn)程設(shè)置環(huán)境變量。系統(tǒng)使用此文件時(shí)并不是執(zhí)行此文件中的命 令,而是根據(jù)KEY=VALUE模式的代碼,對KEY賦值以VALUE,因此文件中如果要定義PATH環(huán)境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可。
2./etc/profile–>是系統(tǒng)登錄時(shí)執(zhí)行的第二個文件,可以用于設(shè)定針對全系統(tǒng)所有用戶的環(huán)境變量。
3.~/.profile–>是對應(yīng)當(dāng)前登錄用戶的profile文件,用于定制當(dāng)前用戶的個人工作環(huán)境。
4./etc/bash.bashrc–>是針對所有用戶的bash初始化文件,在此中設(shè)定的環(huán)境變量將應(yīng)用于所有用戶的shell中,此文件會在用戶每次打開shell時(shí)執(zhí)行一次。
5.~/.bashrc–>是對應(yīng)當(dāng)前登錄用戶的bash初始化文件,當(dāng)用戶每次打開shell時(shí),系統(tǒng)都會執(zhí)行此文件一次。
那么根據(jù)以上描述,這幾個文件的執(zhí)行先后順序應(yīng)當(dāng)是:
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
為了驗(yàn)證此順序是否正確,這里可以做一個小試驗(yàn),假定我們登錄的用戶名為xyz。在/etc/environment中加入一行:
ENV_MSG=”this is /etc/environment”
這樣也就是添加了一個環(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 中會先后打印出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文件中會是什么樣子。
啟動計(jì)算機(jī)后以xyz用戶登錄并立即打開/home/xyz/log.txt,可以看到文件中有如下三行消息:
this is /etc/environment
this is /etc/profile
this is .profile
這說明系統(tǒng)在啟動登錄的過程中依次讀取執(zhí)行了/etc/enviroment 、/etc/profile和~/.profile中的內(nèi)容。
然后打開一個shell窗口,log文件中就會增加兩行消息:
this is /etc/bash.bashrc
this is .bashrc
這說明在打開shell過程中,系統(tǒng)又依次執(zhí)行/etc/bash.bashrc和~/.bashrc。如果關(guān)閉shell窗口后再次打開一個新的 shell窗口,則log文件中會又增加兩行同樣的消息。由此可以獲知,每次打開一個新shell,系統(tǒng)都會重復(fù)執(zhí)行這兩個文件,而不會再動那頭三個文件 的內(nèi)容。
接下來我們再打開/etc/environment ,把剛才寫入的那行改成ENV_MSG=”this is not /etc/environment”,然后注銷,重新以xyz登錄,結(jié)果會發(fā)現(xiàn)log文件中會又多了三行:
this is not /etc/environment
this is /etc/profile
this is .profile
這也就看出來,注銷重登錄也會引發(fā)系統(tǒng)對這三個文件的讀取與執(zhí)行。
不過,如果按下Ctrl+Alt+F1,然后登錄xyz,那么log文件中會多出來如下幾行,這又是怎么回事呢?
this is /etc/bash.bashrc
this is /etc/environment
this is /etc/profile
this is .bashrc
this is .profile
 

標(biāo)簽:烏蘭察布 南昌 臨沂 韶關(guān) 邢臺 撫州 防城港 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux下設(shè)定環(huán)境變量的方法介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    兴安县| 抚顺县| 惠来县| 古田县| 陈巴尔虎旗| 城步| 德安县| 海安县| 井研县| 乐昌市| 上饶市| 临漳县| 湖南省| 城固县| 北海市| 民和| 高雄市| 鱼台县| 二手房| 仁寿县| 隆昌县| 林甸县| 察雅县| 马龙县| 道孚县| 旬阳县| 稻城县| 赞皇县| 会理县| 大英县| 九龙城区| 龙井市| 马山县| 镇江市| 横峰县| 武乡县| 桐梓县| 邹城市| 余江县| 泽普县| 南溪县|