Linux 中如何修改終端提示符顏色?

鹹魚Linux運維發表於2023-10-31

哈嘍大家好,我是鹹魚

我們知道預設情況下,Linux 終端提示符都是簡單的黑白色

image
這種黑白提示一方面看久了容易視覺疲勞,另一方面由於沒有高亮顯示,看著很不方便,視覺體驗極差

所以我們需要修改我們的終端顯示顏色,像下面這樣子
image

PS1(提示語句)

在 Linux 中,當前的 Bash 提示設定儲存在一個名為 PS1 的 shell 變數中,它表示【提示語句】(Prompt Statement)

PS1 被稱為【主要提示變數】

此外還有三個額外的變數:PS2、PS3和PS4。但是,由於它們與更改 Linux 終端中提示符的顏色無關,本文不過多介紹

這個變數儲存的路徑通常在$HOME/.bashrc 檔案中(或者 /etc/bashrc

# 檢視當前 bash shell 的 PS1 值
[root@localhost ~]# echo $PS1
[\[\e[33m\]\u\[\e[0m\]@\[\e[31m\]\h\[\e[0m\] \[\e[35m\]\w\[\e[0m\]]\$

image

剛開始看到這個輸出,相信有不少小夥伴跟我一樣一臉懵逼的,我們先只關注 \u@\h:\w\$ 部分

  • u:表示使用者名稱(username)
  • h:表示主機名(hostname)
  • w:表示當前工作目錄(current working directory)

如下圖所示

image

修改 PS1

以 CentOS 7.9 為例

我們首先開啟 .bashrc 檔案(或 /etc/bashrc)並查詢定義變數 PS1 那一行
image
把它註釋掉,然後建立一個新的 PS1 變數

PS1='\[\033[1;32m\]\u\[\033[1;37m\]@\[\033[1;36m\]\h\[\033[00m\]:\[\033[1;34m\]\w\[\033[00m\]\$ '

image

然後生效一下

source /etc/bashrc 

或

source ~/.bashrc 

可以看到生效了
image
要定製Bash提示符,只需在PS1變數中新增、刪除或重新排列下面這些特殊字元就可以了

1;32m1;37m1;36m 等。這些是 Bash 的顏色程式碼。這些程式碼由一系列數字表示,中間用分號加一個字母m隔開

以下是 Bash Shell 提供的顏色程式碼列表

image
image
於是我們的 Linux 終端就有了一個彩色的 bash shell 提示符

參考連結:https://linuxiac.com/how-to-change-the-colors-of-your-bash-shell-prompt-on-linux/

相關文章