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 環境變數深度解析:初始化流程、配置檔層級、PS1/PS2 提示符客製化與常用變數表

編輯:Linux 教學

環境變數是 Shell 與進程溝通的共享字典。本文深入剖析 Bash 初始化讀取順序、/etc/profile 與 ~/.profile 角色分工、PATH 搜尋機制、PS1/PS2 提示符客製化、終端機類型設定,並附贈常用變數速查表。

Shell 初始化讀取流程 (Bash)

  1. 登入 Shell (SSH、TTY、bash -l):
    /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile | ~/.bash_login | ~/.profile (擇一) → ~/.bashrc (若被 source)
  2. 互動式非登入 Shell (終端機新分頁、bash):
    ~/.bashrc → /etc/bashrc (若被 source)
  3. 非互動式 Shell (腳本執行):**不讀取**上述檔案,僅繼承環境變數

最佳實踐:~/.bash_profile 內 [[ -f ~/.bashrc ]] && source ~/.bashrc,統一配置入口。

變數設定與作用域

# 當前 Shell 本地
VAR=value

# 匯出為環境變數 (子進程可見)
export VAR=value

# 單指令生效
VAR=value command

# 移除
unset VAR

PATH:指令搜尋路徑

PATH=/bin:/usr/bin:/usr/local/bin:/home/user/bin
# 多路徑以冒號分隔,優先序由左至右
# which 指令 可驗證實際執行檔位置

找不到指令 → command not found。安全建議:. (當前目錄) **勿加入** PATH。

PS1 / PS2:提示符客製化

PS1 (主提示符)

PS1='=> '
# 顯示用戶@主機:完整路徑$
PS1='[\u@\h \w]\$ '
# 顯示時間、歷史命令號
PS1='\t \# \w\$ '

常用跳脫序列

序列顯示內容
\t時間 HH:MM:SS
\d日期 Weekday Month Date
\n換行
\W當前目錄名 (basename)
\w完整路徑
\u使用者名
\h主機名 (短)
\#歷史命令號
\$root 顯示 #,其他 $

PS2 (續行提示符)

# 預設 >
PS2='continue-> '
# 輸入未完整指令時顯示
$ echo "hello
continue-> world"
hello world

終端機類型 TERM

TERM=vt100   # 通用虛擬終端標準
TERM=xterm   # X 終端機
TERM=xterm-256color  # 256 色支援
# 由 getty/login 自動設定,通常無需手動修改

常用環境變數速查表

變數用途典型值
DISPLAYX 圖形顯示目標:0
HOME使用者家目錄/home/user
IFS內部欄位分隔符空白、Tab、換行
LANG語系zh_TW.UTF-8
PATH指令搜尋路徑/usr/local/bin:...
PWD當前工作目錄/home/user/project
RANDOM0-32767 隨機數echo $RANDOM
TERM終端機類型xterm-256color
TZ時區Asia/Taipei
UID使用者 ID (數字)1000

驗證與除錯

env | grep -E 'PATH|HOME|LANG|TERM'
echo $PS1
set | grep ^VAR=   # 查找本地變數

環境變數雖無形,卻掌控進程行為。掌握初始化順序、PATH 優先級、PS1 客製化,終端機體驗與腳本穩定性雙提升。

Copyright © Windows教程網 All Rights Reserved