Linux中環境變數檔案及配置

keeptrying發表於2013-01-10

Linux中環境變數包括系統級和使用者級,系統級的環境變數是每個登入到系統的使用者都要讀取的系統變數,而使用者級的環境變數則是該使用者使用系統時載入的環境變數。所以管理環境變數的檔案也分為系統級和使用者級的。

1、系統級(環境變數):

1)、/etc/profile:該檔案是使用者登入時,作業系統定製使用者環境時使用的第一個檔案,應用於登入到系統的每一個使用者。該檔案一般是呼叫/etc/bash.bashrc檔案。

/etc/bash.bashrc:系統級的bashrc檔案。

2)、/etc/environment:在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile,設定環境檔案的環境變數。

 

2、使用者級(本地shell變數)(這些檔案處於家目錄下):

1)、~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。這裡是推薦放置個人設定的地方。

2)、~/.bashrc:該檔案包含專用於你的bash shellbash資訊,當登入時以及每次開啟新的shell,該檔案被讀取。不推薦放到這兒,因為每開一個shell,這個檔案會讀取一次,效率肯定有影響。

3)、~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案。

設定環境變數時,要想對所有的使用者生效,就需要設定系統級的環境變數;反之,需要修改使用者級的檔案(最好修改.profile檔案,理由如上)。

 

 

相關命令:

1、顯示環境變數HOME

   $ echo $HOME

2、設定一個新的環境變數WELCOME

   $ export WELCOME=”Hello!”

   $ echo $WELCOME

Hello!

3、使用env命令顯示所有的環境變數

   $ env

4、使用set命令顯示所有本地定義的shell變數

   $ set

5、使用unset命令來清除環境變數

   set可以設定某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下: 

$ export TEST="Test..." #增加一個環境變數TEST 
$ env|grep TEST #
此命令有輸入,證明環境變數TEST已經存在了 
TEST=Test... 
$ unset $TEST #
刪除環境變數TEST 
$ env|grep TEST #
此命令沒有輸出,證明環境變數TEST已經存在了 

 

6、使用readonly命令設定只讀變數

如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下: 
$ export TEST="Test..." #
增加一個環境變數TEST 
$ readonly TEST #
將環境變數TEST設為只讀 
$ unset TEST #
會發現此變數不能被刪除 
-bash: unset: TEST: cannot unset: readonly variable 
$ TEST="New" #
會發現此也變數不能被修改 
-bash: TEST: readonly variable 

 

 

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-752468/,如需轉載,請註明出處,否則將追究法律責任。

相關文章