- 論壇徽章:
- 0
|
本帖最后由 2007robot 于 2013-01-02 16:50 編輯
關(guān)于環(huán)境變量的定義可以參考wikipedia: http://http://zh.wikipedia.org/w ... 3%E5%8F%98%E9%87%8F
在所有Unix 和 類Unix系統(tǒng)中, 每個進(jìn)程都有其各自的環(huán)境變量設(shè)置。 缺省情況下, 當(dāng)一個進(jìn)程被創(chuàng)建時,除了創(chuàng)建過程中的明確更改外,它繼承了其父進(jìn)程的絕大部分環(huán)境設(shè)置。 在API層級上, 使用fork和exec函數(shù)進(jìn)行變量設(shè)置;蚶胋ash shell文件, 使用特殊的命令調(diào)用來改變環(huán)境變量:通過env 間接替代或者使用ENVIRONMENT_VARIABLE=VALUE <command> 標(biāo)識. 所有的Unix操作系統(tǒng) 以及DOS 和Microsoft Windows都是用環(huán)境變量,但是它們使用不同的環(huán)境變量名稱。我們可以通過運行程序來訪問環(huán)境變量的值。
Shell 腳本和批處理文件使用環(huán)境變量來存儲臨時值,用于以后在腳本中引用,也用于傳遞數(shù)據(jù)和參數(shù)給子進(jìn)程。 在Unix系統(tǒng)中,一個在腳本或程序中更改的環(huán)境變量值只會影響該進(jìn)程,亦可能影響其子進(jìn)程。其父進(jìn)程和無關(guān)進(jìn)程將不受影響。在DOS中,更改或刪除一個批處理文件中的環(huán)境變量值將改變變量的期限命令的存在。
在Unix系統(tǒng)通過初始化腳本啟動時,環(huán)境變量通常會在此時被初始化,因此會被系統(tǒng)中的其它進(jìn)程所繼承。用戶可以而且經(jīng)常添加環(huán)境變量到他們使用的shell腳本中。 在Windows系統(tǒng)中,環(huán)境變量的缺省值存儲在 windows 注冊表中,或者在 autoexec.bat 自動執(zhí)行的批處理文件中設(shè)置。
關(guān)于環(huán)境變量的進(jìn)一步擴(kuò)展知識,可以看一下 W.Richard Stevens編寫的《UNIX環(huán)境高級編程》(2rd)中,7.5環(huán)境表(P152),7.9環(huán)境變量(P157).
這里講一下Ubuntu 環(huán)境變量的設(shè)置,因為之前用過一段時間的Fedora 12,所以感覺不同的Linux發(fā)行版對于環(huán)境變量的設(shè)置可能會有一些不一樣的地方,有經(jīng)驗的網(wǎng)友可以談下感受。
在Ubuntu中有如下幾個文件可以設(shè)置環(huán)境變量
(1)/etc/profile: 此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時,該文件被執(zhí)行. 并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置。此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息。
(2)/etc/environment:在登錄時操作系統(tǒng)使用的第二個文件,系統(tǒng)在讀取你自己的profile(~/.bash_profile)前,設(shè)置環(huán)境文件的環(huán)境變量,注意,/etc/environment是設(shè)置整個系統(tǒng)的環(huán)境,而/etc/profile是設(shè)置所有用戶的環(huán)境,前者與登錄用戶無關(guān),后者與登錄用戶有關(guān)。
注:在網(wǎng)上找到了一些資料,貼出來,可以記一下,以便于理解。
~/.profile:在登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時,該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件.
/etc/bashrc:為每一個運行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時,該文件被讀取.
~/.bashrc:該文件包含專用于你的bash shell的bash信息,當(dāng)?shù)卿洉r以及每次打開新的shell時,該文件被讀取.
通常設(shè)置環(huán)境變量有三種方法:
一、臨時設(shè)置
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH
二、當(dāng)前用戶的全局設(shè)置
打開~/.bashrc,添加行:
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH
使生效
source .bashrc
三、所有用戶的全局設(shè)置
$ vim /etc/profile
在里面加入:
export PATH=/home/simon/share/usr/local/arm/3.4.1/bin: $PATH
使生效
source profile
測試 echo $PATH
目前寫到這,參考了一下這里的知識,http://blog.csdn.net/dingxy/article/details/4016383
THS。12年12月28日 |
|