環境變數:
所謂環境變數,就是使用者之操作環境的一些設定。每個使用者都有一套屬於自己的環境變數。
一般變數與環境變數在使用上的最大不同,就是一般變數有「使用範圍的限制」,在父程序中定義的變數,並無法讓子程序使用。但若是在父程序中定義的環境變數、或是系統中原本就有的環境變數,那此環境變數就可以在子程序中使用。另外,在子程序中定義的變數基本上無法讓父程序使用,就算在子程序中定義環境變數,一樣無法在父程序中使用。
比如說一個在命令列裡定義的變數,無法在shell script中存取。但若是環境變數,就可以直接在shell script中存取。(在此例中,命令列對shell script來說是父程序。)
※註(重要!):用戶自行宣告的環境變數,一般來說在登出後就會被消除。若用戶對系統內建的環境變數進行修改,在登出後也會被「改回來」。若想要永久性的更改設定環境變數之值,需在~/.bash_profile檔案下,加入:
環境變數名稱=值
export 環境變數名稱
即可。用戶下一次登入時,bash會執行~/.bash_profile檔案,而環境變數的設定就會生效。如果要使設定立即生效而非待到下次登入,可在加入以上兩行後,直接執行~/.bash_profile檔案,如:source ~/.bash_profile 或者是 . ~/.bash_profile。
(1) 要查看這些環境變數,可用:env。其顯示出的資料,其形式為:
環境變數名稱=值
幾個比較常用的環境變數之意義,說明如下:
※ HOME:當前使用者之家目錄的路徑。
※ SHELL:當前所使用的shell之名稱。
※ PATH:搜尋命令執行檔時,所要搜尋的目錄。
※ MAIL:和收發e-mail有關。
※ HISTSIZE:與歷史命令的數量有關。
※ SAVEHIST:與歷史命令有關。
※ LANG:目前系統所使用的語系。如:sh_TW.UTF-8,是繁體中文萬國碼。
※ RANDOM:此環境變數較特別,它是「亂數」的意思,在呼叫它時會產生一個正整數亂數(介於0到32767之間)。
(2) 查看所有已設定的變數,可用:set。其顯示所有已設定的變數,包括環境變數(變數名稱通常是大寫)、系統變數(變數名稱通常是大寫)、自定的一般變數。
(3) 更改環境變數的值:和給一般變數重新賦值一樣,用:變數名稱=值。
(4) 將自訂變數轉換成環境變數:
(4-1) 宣告好自訂變數後,用:export 自訂變數一 自訂變數二 自訂變數三…。就可將這些自訂變數轉換成環境變數,轉換後變數名稱不變。
(4-2) 或乾脆直接在宣告變數的時候,就將之宣告成環境變數:export 變數名稱=值。
(5) 解除環境變數的設定:和解除一般變數的設定一樣,用:usnet 變數名稱。
留言列表