環境變量

環境變量是一個動態命名的值 ， 可以影響計算機上進程的行爲方式 。 例如一個正在運行的進程可以查詢TEMP環境變量的值 ， 以發現一個合適的位置來存儲臨時文件 ， 或者查詢HOME或USERPROFILE變量 ， 以找到運行該進程的用戶所擁有的目錄結構 。 在所有 UNIX 和 類Unix系統中, 每個進程都有其各自的環境變量設置 。 缺省情況下, 當一個進程被創建時 ， 除了創建過程中的明確更改外 ， 它繼承了其父進程的絕大部分環境設置 。 在API層級上, 使用fork和exec函數進行變量設置 。 或利用 shell文件, 使用特殊的命令調用來改變環境變量 ： 通過Env 間接替代或者使用ENVIRONMENT_VARIABLE = VALUE <command> 標識. 所有的UNIX操作系統 以及DOS 和Microsoft Windows 都是用環境變量 ， 但是它們使用不同的環境變量名稱 。 我們可以通過運行程序來訪問環境變量的值 。 環境變量的例子包括 ： PATH 羅列出 shell 搜索 用戶 輸入的執行命令所在的目錄 。 HOME ( 類Unix系統 ) 和 userprofile ( Microsoft Windows ) 表示用戶的家目錄在文件系統中的位置 。 TERM ( 類Unix系統 ) 指定使用終端或虛擬終端 的類型 。 CVS_RSH ( 類Unix系統 ) 該選項可用於 ext 方式中指明 cvs 客戶端尋找遠端 shell 的路徑 ， 用作連接 cvs 服務器和以更高的優先權覆蓋 $CVS_RSH 環境變量中指定的路徑 。 MAIL ( 類Unix系統 ) 當前用戶的郵件存放目錄 。 Shell 腳本 和 批處理文件 使用環境變量來存儲臨時值 ， 用於以後在腳本中引用 ， 也用於傳遞數據和參數給子進程 。 在Unix系統中 ， 一個在腳本或程序中更改的環境變量值只會影響該進程 ， 亦可能影響其子進程 。 其父進程和無關進程將不受影響 。 在DOS中 ， 更改或刪除一個批處理文件中的環境變量值將改變變量的期限命令的存在 。 在Unix系統通過初始化腳本啓動時 ， 環境變量通常會在此時被初始化 ， 因此會被系統中的其它進程所繼承 。 用戶可以而且經常添加環境變量到他們使用的shell腳本中 。 在Windows系統中 ， 環境變量存儲在 Windows 註冊表中 。 Category: 操作系統技術 Category: 計算機配置