改變PS1的顏色

2022-03-05 16:35:40 字數 1537 閱讀 9837

我們能夠通過配置ps1變數使提示符成為彩色。在ps1中配置字串行顏色的格式為:

\[\e[f;bm\]

基本上是夾在 "\e["**義開方括號)和 "m" 之間數字值。假如指定乙個以上的數字**,則用分號將他們分開。

其中 f 為字型顏色,編號30~37; b 為背景色,編號40~47。

可通過 \e[0m 關閉顏色輸出;特別的,當b為1時,將顯示加亮加粗的文字,請看下面的顏色表和**表。

顏色表前景 背景 顏色

---------------------------------------

30 40 黑色

31 41 紅色

32 42 綠色

33 43 黃色

34 44 藍色

35 45 紫色

36 46 青色

37 47 白色

** 意義

-------------------------

0 off

1 高亮顯示

4 underline

5 閃爍

7 反白顯示

8 不可見

假如想要配置終端提示符的樣式只要把$ps1在~/.bahrc指定即可

"\e[0m" 

假如將數字**指定為零,則他就會通知終端將前景、背景和加粗配置重置為他們的預設值。您可能會在在提示行結束時使用這個**,以使您鍵入的文字成為非彩色的。現在,讓我們看一下這些顏色**。請注意下面的抓屏結果: 

要使用這個表,首先請查詢您要使用的顏色,然後查詢對應的前景編號 (30-37) 和背景編號 (40-47)。例如,假如您喜歡黑底綠字,則可將編號分別設為 32 和 40。然後開啟您的提示行定義並在其中新增適當的顏色**。下面的定義: 

export ps1="\w> " 

變為: 

export ps1="\e[32;40m\w> " 

到現在為止,提示行儘管已很不錯了,但仍不太完美。在 bash 顯示出工作目錄以後,我們需要使用 "\e[0m" 序列將顏色重新配置為正常值。 

export ps1="\e[32;40m\w> \e[0m" 

這 個定義將顯示乙個漂亮的綠色提示行,但我們仍需要做一些掃尾工作。我們無需包括 "40" 這個背景顏色配置,因為他將背景配置為黑色,而黑色是預設顏色。此外,綠色還很暗;我們通過新增乙個 "1" 顏色**來修正這個問題,這將啟用更亮的加粗文字。除了這個修改之外,我們還需要將全部非列印字元用專用的 bash 轉義序列 "\[" 和 "\]" 括起來。這兩個序列通知 bash,被括起來的字元不占用行上的任何空間,這樣就使自動換行能夠繼續正常工作。沒有這兩個轉義序列,儘管您有了乙個很漂亮的提示行,但是假如您鍵入 的命令恰好到達終端的最右端,就會造成顯示混亂。下面是我們最終的提示行: 

export ps1="\[\e[32;1m\][\u@\h \w]$\[\e[0m\]「

export ps1="\[\e[32;1m\]\w> \[\e[0m\]"

別擔心在同乙個提示行中使用幾種顏色,就像下面這樣: 

export ps1="\[\e[36;1m\]\u@\[\e[32;1m\]\h> \[\e[0m\]"

Linux 設定PS1變數顏色

僅為美觀 ps1 是用來設定 命令提示符的環境變數,用以下命令檢視該變數 echo ps1輸出結果 root dxwos echo ps1 e 1 36m u h w e 0m 這個變數是經過我修改的,可以改變顏色,效果如下 ps1 選項 顏色設定 e f bmf為字型顏色,編號30 37 b為背景...

PS1系統變數

ps1系統變數 d 代表日期,格式為 weekday month date,例如 mon aug 12 h 完整的主機名稱 h 僅取主機的第乙個名字 t 顯示時間為24小時格式,如 hh mm ss t 顯示時間為12小時格式 a 顯示時間為24小時格式 hh mm u 當前使用者的賬號名稱 v b...

對PS1的理解

ps1是命令的字首,用來表示你當前是哪個使用者登入上來的 u,主機名 h,以及當前你所在的目錄 預設是 root wenwen echo ps1 u h w 命令引數 d 代表日期,格式為weekday month date,例如 mon aug 1 h 完整的主機名稱。例如 我的機器名稱為 fc4...