環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數。如:我們在編寫C/C++代碼的時候,在鏈接的時候,從來不知道我們所鏈接的動態靜態庫在哪裏,但是照樣可以鏈接成功,生成可執行程序,原因就是有相關環境變量幫助編譯器進行查找。環境變量通常具有某些特殊用途,還有在系統中通常具有全局特性。
(1) PATH*:指定命令的搜索路徑
(2) HOME*:指定用戶的主工作目錄(即用戶登錄到Linux系統中時,默認的目錄)
(3) HISTSIZE*:指保存歷史命令記錄的條數。
(4) SHELL*:當前Shell,它的值通常是/bin/bash。
echo $NAME //NAME:你的環境變量的名稱
(1) echo:顯示某個環境變量值
(2) export:設置一個新的環境變量
(3) env:顯示所有環境變量
(4) unset:清除環境變量
(5) set:顯示本地定義的shel變量和環境變量
每個程序都會收到一張環境表,環境表是一個字符指針數組,每個指針指向一個以'\0'結尾的環境字符串。
(1) 命令行第三個參數
(2) 通過第三方變量environ獲取
libc中定義的全局變量environ指向環境變量表,environ沒有包含在任何頭文件中,所以在使用時,要用extern聲明。
常用putenv和getenv函數來訪問特定的環境變量。
直接查看,發現沒有結果,說明該環境變量不存在。
導出環境變量:export MYENV = "hello world"。