一,檢視環境變數
在 Linux中,環境變數是一個很重要的概念。環境變數可以由系統、使用者、Shell
以及其他程式來設定。變數就是一個可以被賦值的字串,賦值範圍包括數字、文字、檔名、裝置以及其他型別的資料
值得一提的是,Linux 系統中環境變數的名稱一般都是大寫的,這是一種約定俗成的規範。
1,使用 echo
命令檢視單個環境變數,例如:echo $PATH
;使用 env
檢視當前系統定義的所有環境變數;使用 set
檢視所有本地定義的環境變數。檢視 PATH
環境的例項如下:
使用 unset
刪除指定的環境變數,set
也可以設定某個環境變數的值。清除環境變數的值用 unset 命令。如果未指定值,則該變數值將被設為 NULL。示例如下:
$ export TEST="Test..." # 增加一個環境變數 TEST
$ env|grep TEST # 此命令有輸入,證明環境變數 TEST 已經存在了
TEST=Test...
unset TEST # 刪除環境變數 TEST
$ env|grep TEST # 此命令沒有輸出,證明環境變數 TEST 已經刪除
2,C
程式呼叫環境變數函式
getenv()
: 返回一個環境變數。setenv()
:設定一個環境變數。unsetenv()
: 清除一個環境變數。
二,環境變數型別
1,按照變數的生存週期劃分,Linux 變數可分為兩類:
- 永久的:需要修改配置檔案,變數永久生效。
- 臨時的:使用
export
命令宣告即可,變數在關閉shell
時失效。
2,按作用的範圍分,在 Linux 中的變數,可以分為環境變數和本地變數:
- 環境變數:相當於全域性變數,存在於所有的 Shell 中,具有繼承性;
- 本地變數:相當於區域性變數只存在當前 Shell 中,本地變數包含環境變數,非環境變數不具有繼承性。
環境變數名稱都是大寫,常用的環境變數意義如下所示。
PATH
:決定了shell
將到哪些目錄中尋找命令或程式HOME
:當前使用者主目錄HISTSIZE
:歷史記錄數LOGNAME
:當前使用者的登入名HOSTNAME
:指主機的名稱SHELL
:當前使用者 Shell 型別LANGUGE
:語言相關的環境變數,多語言可以修改此環境變數MAIL
:當前使用者的郵件存放目錄PS1
:基本提示符,對於 root 使用者是#
,對於普通使用者是$
三,設定環境變數
在 Linux
中新增環境變數有三種方法:
- 在
/etc/profile
檔案中新增變數【對所有使用者生效(永久的)】 - 在使用者目錄下的
.bash_profile
檔案中增加變數【對單一使用者生效(永久的)】 - 直接執行
export
命令定義變數【只對當前 shell(BASH) 有效(臨時的)】
修改 profile
檔案後需執行 source /etc/profile
命令才能生效,否則只能在下次重進此使用者時生效。