PS1:主提示符 (如 [user@host ~]$)PS2:續行提示符 (命令未完等待輸入時,默認 >)| 序列 | 含義 | 示例 |
|---|---|---|
\d | 日期 (Weekday Month Date) | Mon Aug 1 |
\H | 完整主機名 | fc4.linux |
\h | 短主機名 (第一個 . 前) | fc4 |
\t | 24h 時間 (HH:MM:SS) | 14:30:05 |
\T | 12h 時間 | 02:30:05 PM |
\A | 24h 短時間 (HH:MM) | 14:30 |
\u | 當前用戶名 | root |
\v | Bash 版本 | 4.4.23 |
\w | 完整工作目錄 (~ 代表家目錄) | /home/user/project |
\W | 基礎目錄名 (最後一級) | project |
\# | 命令歷史編號 | 1024 |
\$ | 提示符字符 (root=#, 普通用戶=$) | # / $ |
# 臨時 (當前 Shell 生效)
PS1='(\u@\H \d \t)\$ '
# 永久:編輯 ~/.bash_profile 或 ~/.bashrc
echo 'PS1="[\u@\h \w]\\$ "' >> ~/.bashrc
source ~/.bashrc
注意:
export PS1會讓子 Shell 繼承,導致 root 也用同樣提示符,建議**不 export**,分別在 root/用戶各自的.bashrc設置。
格式:\[\e[F;Bm\] (F=前景 30–37, B=背景 40–47, 1=高亮/粗體)
# 綠色用戶@主機 藍色路徑 白色$
PS1='\[\e[32m\]\u@\h\[\e[0m\]:\[\e[34m\]\w\[\e[0m\]\$ '
# 紅色 root 警示
if [ $UID -eq 0 ]; then
PS1='\[\e[31;1m\]\u@\h\[\e[0m\]:\[\e[34m\]\w\[\e[0m\]# '
else
PS1='\[\e[32m\]\u@\h\[\e[0m\]:\[\e[34m\]\w\[\e[0m\]\$ '
fi
| 代碼 | 顏色 | 代碼 | 顏色 |
|---|---|---|---|
| 30/40 | 黑 | 37/47 | 白 |
| 31/41 | 紅 | 90/100 | 亮黑/亮灰背景 |
| 32/42 | 綠 | 91/101 | 亮紅 |
| 33/43 | 黃/棕 | 92/102 | 亮綠 |
| 34/44 | 藍 | 93/103 | 亮黃 |
| 35/45 | 紫/洋紅 | 94/104 | 亮藍 |
| 36/46 | 青 | 95/105 | 亮紫 |
| 1 | 高亮/粗體 (非顏色) | 0 | 重置所有屬性 |
# 需安裝 git-prompt.sh
source /usr/share/git/completion/git-prompt.sh
PS1='\[\e[32m\]\u@\h\[\e[0m\]:\[\e[34m\]\w\[\e[33m\]$(__git_ps1 " (%s)")\[\e[0m\]\$ '
PS1 定制通過轉義序列 + ANSI 顏色碼實現。建議:用戶綠色、root 紅色、路徑藍色、Git 分支黃色,配置在 ~/.bashrc 且不 export,兼顧美觀與辨識度。