全域設定 :直接修改 /etc/profile (所有使用者都生效)
使用者佈建 :修改 ~/.bashrc ~/.bash_profie (目前使用者生效)
使用env命令顯示所有的環境變數
使用set命令顯示所有本地定義的Shell變數
1、環境變數可以在命令列中設定,但使用者登出時這些值將丟失。
比如臨時定義環境變數JAVA_HOME:
export $JAVA_HOME=/usr/local/jdk
2、如何添加環境變數。
在profile檔案的最後添加如下內容: export JAVA_HOME= /usr/local/jdk
或者 export JAVA_HOME="/usr/local/jdk" #變數值/usr/local/jdk可以加引號也可以不加,效果一樣。
3、在profile檔案添加或修改的內容需要登出系統才會生效。
4、重複定義變數怎樣理解
同名環境變數在profile檔案靠後的起作用。比如:
/etc/profile檔案定義兩個一樣的變數SMALLKE=good SMALLKE=bad
unset pathmunge
export JAVA_HOME=/usr/local/jdk
export CATALINA_BASE=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib
export SMALLKE=good
export SMALLKE=bad
登出重新登陸,看下輸出SMALLKE的結果
[root@pcmxexweb ~]# echo $SMALLKE
bad
說明靠後的變數SAMLLKE=bad生效了。
5、特殊字元介紹。
例如在profile中有如下內容,通過以下內容說明特殊符號的用法。
export A=/q/jing:aaa/cc/ld
export B=.:/liheng/wang
export A=/cd/cdr:$A
: 表示並列含義,例如A變數值有多個,用:符號進行分離。
. 表示你操作的目前的目錄。例如pap命令會尋找B環境變數。
在/home鍵入pap命令,系統首先在/home目錄下(即當前路徑)尋找關於 B 的內容,如果沒有再在/liheng/wang目錄下尋找關於B的內容。
$ 表示該變數本次定義之前的值,例如$A代表/q/jing:aaa/cc/ld。也就是說A=/cd/cdr:/q/jing:aaa/cc/ld
6、常見的環境變數
PATH:決定了shell將到哪些目錄中尋找命令或程式
HOME:目前使用者主目錄
MAIL:是指目前使用者的郵件存放目錄。
SHELL:是指目前使用者用的是哪種Shell。
HISTSIZE:是指儲存曆史命令記錄的條數
LOGNAME:是指目前使用者的登入名稱。
HOSTNAME:是指主機的名稱,許多應用程式如果要用到主機名稱的話,通常是從這個環境變數中來取得的。
LANG/LANGUGE:是和語言相關的環境變數,使用多種語言的使用者可以修改此環境變數。
PS1:是基本提示符,對於root使用者是#,對於普通使用者是$。
PS2:是附屬提示符,預設是“>”。可以通過修改此環境變數來修改當前的命令符,比如下列命令會將提示符修改成字串“Hello,My NewPrompt ”。
# PS1=" Hello,My NewPrompt "