如何在Debian 10中自定義Bash終端提示

bash Linux Shell不僅在提示中包含了不同的功能,而且還為提示提供了許多自定義選項,您可以使用這些選項通過不同的顏色來區分它們。

在本文中,我們將使用各種示例來自定義終端應用程序的提示並為其重新着色,以便您在需要時可以執行相同的操作。本文中描述的命令和過程在Debian 10 Buster系統上。

顯示當前的Bash提示配置

當您打開帶有Debian Application Launcher搜索的終端時,將看到類似於以下內容的提示:

[email protected]:directory$

此默認格式列出了用戶名,主機名和用戶的當前目錄。 bash從為主目錄中的每個用戶單獨配置的bashrc文件中獲取此配置。要打開此文件:

$ nano ~/.bashrc

位置:/ home /用戶名/.bashrc

您也可以使用其他文本編輯器打開此文件。

配置文件如下所示:在這裡,我們顯示文件的相關部分。

使用nano編輯器編輯bashrc

上圖所示的PS1變量包含bash提示所需的所有配置。首先,讓我們解釋一下此變量中的字母代表什麼。該變量可以清楚地顯示在else語句之後列出的PS1變量中。

  • u-顯示當前用戶的用戶名
  • h:顯示從完全限定域名中提取的當前用戶的主機名。
  • w:表示當前的工作目錄。主目錄由波浪號〜符號指示。
  • $]指示它是普通用戶($)還是根用戶(#)。

您還可以通過回顯值來查看PS1變量的組成,如下所示:

$ echo $PS1

PS1變量

自定義Bash提示

現在您已經知道了提示信息的存儲位置以及PS1變量的描述,讓我們看看如何編輯提示信息以自定義bash提示。

在編輯PS1變量之前,重要的是將默認內容保存在新變量中。如果出現問題,這有助於將提示恢復為原始配置。在終端中輸入以下命令:

$ DEFAULT=$PS1

現在,變量“ DEFAULT”包含恢復默認提示設置所需的所有信息。

讓我們嘗試一下PS1變量。輸入以下命令:

$ PS1="u$ "

PS1的此新值在提示符下具有以下效果:

如何在Debian 10中自定義Bash終端提示

由於尚未設置顏色信息,因此只能顯示用戶名和root用戶信息而不顯示顏色。

通過鍵入以下命令,確保提示符也顯示您的工作目錄:

$ PS1="u:w$ "

PS1的此新值在提示符下具有以下效果:

工作目錄清單

我的工作目錄位於主目錄,因此只能看到〜符號。 在其他目錄(如“圖片”)中,提示顯示以下信息:

自定義提示

將提示恢復為默認值

現在我們已經將PS1變量的原始配置存儲在DEFAULT變量中,我們可以通過提供默認變量的值來將PS1值恢復為默認值。

將提示恢復為默認值

我還能自定義什麼?

如果您需要提示 包含某些自定義文本,您可以使用以下語法:

$ PS1="[custom text] [email protected]h:w$ "

例子:

我將提示設置為包含自定義消息,如下所示:

自定義命令行提示符文本

您可以在提示中包括以下基本字符:

特點目的
d以日期和月份的日期格式表示的日期。
e貝爾字符。
一種轉義符。
H‘。 ‘當前用戶的主機名最多。
H當前用戶的主機名。
l終端設備的基本名稱。
jShell運行的作業數。
r回車。
n新隊。
u當前用戶的用戶名。
vBash版本。
輸出正在執行的命令的歷史記錄號。

你能行的 包括當前系統時間 在提示符下使用以下命令:

$ PS1=”Au: w$ “

PS1的此新值在提示符下具有以下效果:

在命令提示符下顯示時間

您還可以自定義提示以包括命令的輸出。這使您可以無限制地包含在提示中。

句法:

$ PS1="[email protected]h on `[command]` w$ "

例子:

在此示例中,提示設置為包括當前用戶所屬的主要組的名稱。

$ PS1="[email protected]h on `id -gn` w$ "

在提示符下顯示命令輸出

為Bash提示着色

自定義提示後,您會發現事情似乎有些混亂。顯而易見的原因是,如果所有功能都以相同的顏色列出,則很難將一個功能與另一個功能區分開。接下來,讓我們學習如何為提示着色,以使其更易於查看。

PS1變量包含顏色標籤,用於為一個或多個功能添加顏色。下圖中突出顯示的文本是一個顏色標籤。

向命令提示符添加顏色

這是顏色標籤格式:

[33[COLOR]m]

例如,由於以下顏色標記,默認終端提示中顯示的默認用戶名和主機名是綠色的:

[33[01;32m][email protected]h

您可以為bash提示功能更改該顏色的值,以添加新顏色或為沒有顏色的功能添加新的顏色標籤。

常見的顏色及其值是:

顏色價值
綠色的32
紅色的31
黑色的30
藍色的34
青色36
紫色的35
黃色的33
白色的37

例子:

以下命令將提示更改為紅色,因為它在顏色標籤中指定了31(紅色)。

$ PS1="[33[31m][email protected]h:w$ "

重擊提示着色

在Bash提示下使用文字樣式

您可以通過為顏色標籤分配屬性值來向提示文本添加樣式。具有屬性的顏色標籤的格式為:

[33[ATTRIBUTE; COLORm]

提示文本中可以使用以下屬性值:

屬性值目的
0普通文本(即使未設置任何屬性,這也是默認值)
1個在Debian終端中,此值指定粗體文本
2個昏暗的文字
四個帶下劃線的文字
對於閃爍的文字
7反轉文字和背景色
8對於隱藏的文字

例子:

您可以使用以下命令在bash提示下劃線:

$ PS1 =” [33[4;31m][email protected] h: w $”

值為4表示文本為“帶下劃線”。

文字樣式

對提示進行永久更改

到目前為止,您運行的命令僅會更改當前bash會話的提示。嘗試自定義文本並為提示着色,並為所有bash會話永久設置該文本。達到最終版本時,需要編輯bashrc文件。

打開.bashrc文件,並在PS1行的if下複製最終的PS1值。我接下來去。在下圖中,我將bash提示的顏色更改為紅色。

.bashrc文件

按Ctrl + X,然後按Y保存文件。 對bash提示的更改將是永久性的。如果退出終端並重新打開終端,則會看到bash提示與您設置的一樣。

永久更改bash提示的顏色

在學習完本教程之後,您將擅長自定義bash提示。然後,您可以設置顏色以區分提示中包含的不同功能。這樣,每次使用bash提示時,您都可以查看和使用該有用信息。

如何在Debian 10中自定義Bash終端提示

Sidebar