如何自定義Ubuntu終端提示

Ubuntu系統使用bash或dash作為默認終端應用程序。通常,您在默認提示下輸入命令,該命令以預定義的顏色主題列出用戶名,主機名和當前目錄。 bash為提示提供了許多自定義選項。使用這些選項,您不僅可以將不同的功能合併到提示中,還可以使用不同的顏色來區分它們。

在本文中,我們將使用各種示例來自定義終端應用程序提示並更改顏色,以便您可以根據需要進行相同的操作。我正在Ubuntu 18.04 LTS系統上運行本文中描述的命令和過程。

查看當前的Bash提示配置

當您使用破折號或快捷鍵Ctrl + Alt + T打開終端時,將看到以下提示:

[email protected]:directory$

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

$ nano ~/.bashrc

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

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

這就是該配置文件的外觀。這是文件的相關部分。

.bashrc文件在nano中打開

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

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

要查看PS1變量的配置,請按如下所示回顯其值:

PS1變量

自定義外殼提示

在查看提示信息的位置和PS1變量的描述之後,讓我們看看如何編輯它以自定義bash提示。

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

$ DEFAULT=$PS1

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

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

$ PS1="u$ "

PS1的此新值對提示具有以下影響:

新的Bash提示

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

輸入以下命令,以便在提示符下也列出工作目錄:

$ PS1="u:w$ "

PS1的此新值對提示具有以下影響:

新的bash提示採取行動

由於工作目錄位於主目錄中,因此只能顯示〜符號。在其他目錄(例如bin)中,提示符顯示以下信息:

結果

將提示返回默認值

現在,PS1變量的原始配置存儲在DEFAULT變量中,您可以通過將PS1的值傳遞給DEFAULT變量的值來恢復默認值。

重置外殼提示

我還能自定義什麼?

顯示提示 包含特定的自定義文本,您可以使用以下的sytanx

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

範例:

我將提示設置為包括以下自定義消息:

在bash提示下設置自定義文本

提示中可以包含以下基本字符:

性格目的
d日期以日月日期格式表示。
e貝爾字符。
a轉義符。
h當前用戶的主機名最多為“。”。
H當前用戶的主機名。
l終端設備的基本名稱。
jShell運行的作業數。
r回車。
n新線。
u當前用戶的用戶名。
vBash版本。
打印正在運行的命令的歷史記錄號。

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

$ PS1=”Au: w$ “

PS1的此新值對提示具有以下影響:

在命令提示符下顯示系統時間

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

語法:

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

範例:

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

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

包括主要組的名稱

迅速着色

自定義提示後,您會發現事情看起來有些混亂。顯而易見的原因是,如果所有功能都以相同的顏色列出,則很難將一個功能與另一個功能區分開。現在,讓我們學習如何為提示塗上顏色並使您的眼睛更輕鬆。

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

在bash提示下設置顏色

這是顏色標籤的形式:

[33[COLOR]m]

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

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

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

常見的顏色及其值是:

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

範例:

以下命令將提示更改為紅色,因為顏色標記指定31(紅色)。

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

命令提示符着色

在提示中使用文字樣式

您可以通過將屬性值分配給顏色標籤來向提示文本添加樣式。以下是帶有屬性的顏色標籤的格式。

[33[ATTRIBUTE; COLORm]

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

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

範例:

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

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

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

在命令提示字元中使用文字樣式

永久更改提示

到目前為止執行的命令僅會更改當前bash會話的提示。嘗試了文本自定義和提示顏色後,您將需要編輯bashrc文件,並且已達到最終結果,該結果將在每個bash會話中永久設置。

打開.bashrc文件,然後複製如果在下面的PS1行中確定的PS1值。然後行。在下圖中,我們將bash提示的顏色更改為紅色。

編輯.bashrc文件

按保存文件 Ctrl + X 按下 ÿ。對bash提示的更改是永久性的。退出並重新打開終端,並確保bash提示與您設置的相同。

儲存檔案

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

如何自定義Ubuntu終端提示

Sidebar