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

Ubuntu 修改命令提示符 PS1:打造高效可讀的終端體驗

編輯:關於 Linux

默認 user@host:/path$ 提示符過長、信息冗余。通過修改 PS1 環境變量,可自定義顏色、路徑深度、Git 分支、時間等信息,構建專屬高效終端。

PS1 轉義序列速查

代碼含義示例輸出
\u當前用戶名ubuntu
\h主機名 (短)server01
\H主機名 (全域名)server01.example.com
\w完整工作目錄 (家目錄顯示 ~)/home/ubuntu/projects
\W當前目錄名 (basename)projects
\$提示符 (# root, $ 普通用戶)$
\t時間 24制 (HH:MM:SS)14:30:25
\T時間 12制 (HH:MM:SS)02:30:25
\@時間 12制 (am/pm)02:30 PM
\d日期 (Weekday Month Date)Tue Jan 25
\vBash 版本5.0.17
\VBash 版本詳情5.0.17(1)-release
\!歷史命令編號1024
\j後台任務數2
\l終端設備名pts/0

顏色控制序列

# 格式: \[\033[ATTR;FG;BGm\]
# 屬性: 0=重置 1=粗體 4=下劃線 7=反轉
# 前景: 30-37 (黑紅綠黃藍洋紅青白)
# 背景: 40-47
# 90-97/100-107: 高亮前景/背景

# 示例:綠色用戶@主機 藍色路徑
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# 必須用 \[\] 包裹非打印字符,否則命令行換行計算錯誤

修改方法

臨時生效 (當前會話)

export PS1='[\w]\$ '
# 輸出: [/home/ubuntu]$
# 退出終端失效

永久生效 (編輯 ~/.bashrc)

vim ~/.bashrc
# 找到 PS1 設置區域 (約第 50-60 行)
# 修改為:
if [ "$color_prompt" = yes ]; then
    PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='[\w]\$ '  # 簡潔模式:只顯示路徑
fi

# 立即生效
source ~/.bashrc

進階定製示例

極簡風格 (推薦)

PS1='\[\033[36m\]\W\[\033[00m\] \[\033[32m\]➜\[\033[00m\] '
# 輸出: projects ➜ 

Git 分支顯示 (需 git-prompt.sh)

source /usr/lib/git-core/git-sh-prompt  # Ubuntu 路徑
PS1='\[\033[36m\]\W\[\033[00m\] \[\033[33m\]$(__git_ps1 "(%s)")\[\033[00m\] \[\033[32m\]➜\[\033[00m\] '
# 輸出: projects (main) ➜ 

雙行提示符 (信息豐富)

PS1='\[\033[32m\]\u@\h \[\033[34m\]\w\[\033[00m\]\n\[\033[33m\]\$\[\033[00m\] '
# 輸出:
# ubuntu@server projects
# $ 

顯示退出碼 (紅色非零)

PS1='$(if [ $? -eq 0 ]; then echo "\[\033[32m\]✓"; else echo "\[\033[31m\]✗ $?"; fi) \[\033[36m\]\W\[\033[00m\] ➜ '
# 輸出: ✓ projects ➜   或   ✗ 1 projects ➜

PS2/PS3/PS4 續行提示符

PS2='\[\033[33m\]>\[\033[00m\] '      # 多行輸入續行
PS3='\[\033[36m\]Select:\[\033[00m\] '  # select 選單
PS4='\[\033[35m\]+\[\033[00m\] '      # set -x 調試跟蹤

避坑指南

  • ❌ 忘記 \[\] 包裹顏色碼 → 命令行換行混亂
  • ❌ 直接修改 /etc/bash.bashrc 影響所有用戶
  • ❌ 過長提示符導致命令可視區域縮小
  • ✅ 使用 source ~/.bashrc 而非重新登錄
  • ✅ 保留 \$ 區分 root/普通用戶

定製 PS1,讓終端成為得心應手的生產力工具而非信息噪音源。

Copyright © Windows教程網 All Rights Reserved