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

首頁 > 系統 > Linux > 正文

linux下設定環境變量的方法介紹

2020-06-13 12:21:02
字體:
來源:轉載
供稿:網友
linux下設定環境變量時,如果只是臨時用一下,可以直接在shell下用set或export命令設定環境變量,如果希望此環境變量每次開機或打開 shell時自動設定而無須每次都手動設定
 
 
那么需要將export命令寫入某個系統文件中,擁有這種功能的文件常見的有如下幾個: 
/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc等。 
有這么多可以用,到底它們有什么區別,誰先誰后呢? 
首先,來看看這幾個文件都是干什么的: 
1./etc/environment–>是系統在登錄時讀取的第一個文件,用于為所有進程設置環境變量。系統使用此文件時并不是執行此文件中的命 令,而是根據KEY=VALUE模式的代碼,對KEY賦值以VALUE,因此文件中如果要定義PATH環境變量,只需加入一行形如 PATH=$PATH:/xxx/bin的代碼即可。 
2./etc/profile–>是系統登錄時執行的第二個文件,可以用于設定針對全系統所有用戶的環境變量。 
3.~/.profile–>是對應當前登錄用戶的profile文件,用于定制當前用戶的個人工作環境。 
4./etc/bash.bashrc–>是針對所有用戶的bash初始化文件,在此中設定的環境變量將應用于所有用戶的shell中,此文件會在用戶每次打開shell時執行一次。 
5.~/.bashrc–>是對應當前登錄用戶的bash初始化文件,當用戶每次打開shell時,系統都會執行此文件一次。 
那么根據以上描述,這幾個文件的執行先后順序應當是: 
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc 
為了驗證此順序是否正確,這里可以做一個小試驗,假定我們登錄的用戶名為xyz。在/etc/environment中加入一行: 
ENV_MSG=”this is /etc/environment” 
這樣也就是添加了一個環境變量ENV_MSG,然后在/etc/profile中加入兩行代碼: 
echo $ENV_MSG >> /home/xyz/log.txt 
echo “this is /etc/profile” >> /home/xyz/log.txt 
這樣,如果/etc/environment在profile之前被系統讀取,則在/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 
然后,重啟計算機,看看log.txt文件中會是什么樣子。 
啟動計算機后以xyz用戶登錄并立即打開/home/xyz/log.txt,可以看到文件中有如下三行消息: 
this is /etc/environment 
this is /etc/profile 
this is .profile 
這說明系統在啟動登錄的過程中依次讀取執行了/etc/enviroment 、/etc/profile和~/.profile中的內容。 
然后打開一個shell窗口,log文件中就會增加兩行消息: 
this is /etc/bash.bashrc 
this is .bashrc 
這說明在打開shell過程中,系統又依次執行/etc/bash.bashrc和~/.bashrc。如果關閉shell窗口后再次打開一個新的 shell窗口,則log文件中會又增加兩行同樣的消息。由此可以獲知,每次打開一個新shell,系統都會重復執行這兩個文件,而不會再動那頭三個文件 的內容。 
接下來我們再打開/etc/environment ,把剛才寫入的那行改成ENV_MSG=”this is not /etc/environment”,然后注銷,重新以xyz登錄,結果會發現log文件中會又多了三行: 
this is not /etc/environment 
this is /etc/profile 
this is .profile 
這也就看出來,注銷重登錄也會引發系統對這三個文件的讀取與執行。 
不過,如果按下Ctrl+Alt+F1,然后登錄xyz,那么log文件中會多出來如下幾行,這又是怎么回事呢? 
this is /etc/bash.bashrc 
this is /etc/environment 
this is /etc/profile 
this is .bashrc 
this is .profile

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 饶阳县| 澎湖县| 蒙阴县| 鹰潭市| 高安市| 吴桥县| 武陟县| 文山县| 大荔县| 巴林右旗| 青海省| 格尔木市| 永和县| 饶河县| 安新县| 阿合奇县| 彭水| 赤城县| 广丰县| 仲巴县| 霞浦县| 鄄城县| 措勤县| 白银市| 成武县| 正宁县| 汶川县| 永仁县| 秦安县| 旬阳县| 福海县| 喀喇沁旗| 绥棱县| 寿光市| 万安县| 大名县| 长春市| 桂平市| 边坝县| 固安县| 潼关县|