Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 環境變數基礎:定義、操作指令與 Shell 差異總覽

編輯:Linux 教學

什麼是環境變數?

環境變數與 Shell 緊密相關。使用者登入系統後會啟動一個 Shell(通常是 bash),環境變數透過 Shell 指令設定,經 export 導出後,可被該使用者啟動的所有程式繼承使用。

基本操作指令實例

1. 顯示單一變數

$ echo $HOME
/home/terry

2. 設定新環境變數

$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!

3. 列出所有環境變數

$ env
HOSTNAME=terry.mykms.org
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
...

4. 列出所有 Shell 區域變數

$ set
BASH=/bin/bash
BASH_VERSION='2.05b.0(1)-release'
COLUMNS=80
...

5. 移除環境變數

$ export TEST="Test..."
$ env | grep TEST
TEST=Test...
$ unset TEST
$ env | grep TEST   # 無輸出,表示已移除

6. 設定唯讀變數

$ export TEST="Test..."
$ readonly TEST
$ unset TEST
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New"
-bash: TEST: readonly variable

常見 Shell 的環境變數設定語法差異

Shell設定追加移除顯示備註
shNAME=value1
export NAME
NAME=value2:$NAMEunset NAMEset 或 env需 export 讓子行程繼承
kshNAME=value1
export NAME
NAME=value2:$NAMEunset NAMEset 或 env需 export
cshsetenv NAME value1setenv NAME value2:$NAMEunsetenv NAMEset不需 export
bashNAME=value1NAME=value2:$NAMEunset NAMEset 或 env需 export 讓子行程繼承

系統級與使用者級配置檔

  • /etc/profile:對整個系統生效,登入 Shell 載入。
  • ~/.bash_profile、~/.bash_login、~/.profile:使用者個人登入設定,依序嘗試讀取。
  • ~/.bashrc:互動式非登入 Shell 載入(如開啟終端機視窗)。
  • ~/.bash_logout:登出時執行,例如 clear 自動清螢幕。

語系環境變數設定範例

在 /etc/profile 或 ~/.bash_profile 加入:

export LANG=zh_CN.GBK
export LC_ALL=zh_CN.GBK
export XMODIFIERS=@im=Chinput

csh/tcsh 寫法:

setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv XMODIFIERS @im=Chinput

重點總結

  1. 環境變數經 export 導出後才會傳遞給子行程。
  2. 修改系統級檔案需 root 權限,影響所有使用者;個人檔案僅影響當前使用者。
  3. 變更後須重新登入或 source 對應檔案生效。
  4. 不同 Shell 語法略有差異,以 bash 為主流標準。
Copyright © Windows教程網 All Rights Reserved