LInux------環境變量

環境變量:

1. 基本概念

     環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數。如:我們在編寫C/C++代碼的時候,在鏈接的時候,從來不知道我們所鏈接的動態靜態庫在哪裏,但是照樣可以鏈接成功,生成可執行程序,原因就是有相關環境變量幫助編譯器進行查找。環境變量通常具有某些特殊用途,還有在系統中通常具有全局特性。

2. 常見的環境變量

(1) PATH*:指定命令的搜索路徑

(2) HOME*:指定用戶的主工作目錄(即用戶登錄到Linux系統中時,默認的目錄)

(3) HISTSIZE*:指保存歷史命令記錄的條數。

(4) SHELL*:當前Shell,它的值通常是/bin/bash。

3. 查看環境變量的方法

  echo $NAME   //NAME:你的環境變量的名稱

4. 和環境變量相關的命令

(1) echo:顯示某個環境變量值

(2) export:設置一個新的環境變量

(3) env:顯示所有環境變量

(4) unset:清除環境變量

(5) set:顯示本地定義的shel變量和環境變量

5. 環境變量的組織方式

每個程序都會收到一張環境表,環境表是一個字符指針數組,每個指針指向一個以'\0'結尾的環境字符串。


6. 通過代碼如何獲取環境變量

(1) 命令行第三個參數



(2) 通過第三方變量environ獲取



libc中定義的全局變量environ指向環境變量表,environ沒有包含在任何頭文件中,所以在使用時,要用extern聲明。

7. 通過系統調用獲取或設置環境變量-----putenv & getenv



    常用putenv和getenv函數來訪問特定的環境變量。

8. 環境變量通常是具有全局屬性的---------環境變量通常具有全局屬性,可以被子進程繼承下去。



直接查看,發現沒有結果,說明該環境變量不存在。

導出環境變量:export  MYENV  =  "hello  world"。