欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

  發(fā)布時(shí)間:2012-10-31 16:18:45   作者:佚名   我要評(píng)論
在linux下設(shè)定環(huán)境變量時(shí),如果只是臨時(shí)用一下,可以直接在shell下用set或export命令設(shè)定環(huán)境變量,如果希望此環(huán)境變量每次開機(jī)或打開 shell時(shí)自動(dòng)設(shè)定而無須每次都手動(dòng)設(shè)定
那么需要將export命令寫入某個(gè)系統(tǒng)文件中,擁有這種功能的文件常見的有如下幾個(gè):
/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc等。
有這么多可以用,到底它們有什么區(qū)別,誰先誰后呢?
首先,來看看這幾個(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)所有用戶的環(huán)境變量。
3.~/.profile–>是對(duì)應(yīng)當(dāng)前登錄用戶的profile文件,用于定制當(dāng)前用戶的個(gè)人工作環(huán)境。
4./etc/bash.bashrc–>是針對(duì)所有用戶的bash初始化文件,在此中設(shè)定的環(huán)境變量將應(yīng)用于所有用戶的shell中,此文件會(huì)在用戶每次打開shell時(shí)執(zhí)行一次。
5.~/.bashrc–>是對(duì)應(yīng)當(dāng)前登錄用戶的bash初始化文件,當(dāng)用戶每次打開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),假定我們登錄的用戶名為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用戶登錄并立即打開/home/xyz/log.txt,可以看到文件中有如下三行消息:
this is /etc/environment
this is /etc/profile
this is .profile
這說明系統(tǒng)在啟動(dòng)登錄的過程中依次讀取執(zhí)行了/etc/enviroment 、/etc/profile和~/.profile中的內(nèi)容。
然后打開一個(gè)shell窗口,log文件中就會(huì)增加兩行消息:
this is /etc/bash.bashrc
this is .bashrc
這說明在打開shell過程中,系統(tǒng)又依次執(zhí)行/etc/bash.bashrc和~/.bashrc。如果關(guān)閉shell窗口后再次打開一個(gè)新的 shell窗口,則log文件中會(huì)又增加兩行同樣的消息。由此可以獲知,每次打開一個(gè)新shell,系統(tǒng)都會(huì)重復(fù)執(zhí)行這兩個(gè)文件,而不會(huì)再動(dòng)那頭三個(gè)文件 的內(nèi)容。
接下來我們?cè)俅蜷_/etc/environment ,把剛才寫入的那行改成ENV_MSG=”this is not /etc/environment”,然后注銷,重新以xyz登錄,結(jié)果會(huì)發(fā)現(xiàn)log文件中會(huì)又多了三行:
this is not /etc/environment
this is /etc/profile
this is .profile
這也就看出來,注銷重登錄也會(huì)引發(fā)系統(tǒng)對(duì)這三個(gè)文件的讀取與執(zhí)行。
不過,如果按下Ctrl+Alt+F1,然后登錄xyz,那么log文件中會(huì)多出來如下幾行,這又是怎么回事呢?
this is /etc/bash.bashrc
this is /etc/environment
this is /etc/profile
this is .bashrc
this is .profile
 

相關(guān)文章

最新評(píng)論