bash Linux shell 為提示提供了許多自定義選項,不僅可以將不同的功能合併到提示中,還可以使用不同的顏色來區分它們。

本文使用各種示例來自定義終端應用程序提示並更改其顏色。如果你願意,這將允許你做同樣的事情。本文中描述的命令和過程在 Debian 10 Buster 系統上。

顯示當前 Bash 提示配置

如果您使用 Debian Application Launcher 搜索打開終端,您將看到如下提示:

[email protected]:directory$

此默認格式列出用戶的用戶名、主機名和當前目錄。 bash 從為每個用戶的主目錄中的每個用戶單獨設置的 bashrc 文件中獲取此配置。以下是打開此文件的方法:

$ nano ~/.bashrc

位置:/home/username/.bashrc

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

這就是這個配置文件的樣子。這是文件的相關部分。

上圖中顯示的 PS1 變量具有 bash swift 。首先,讓我們解釋一下這個變量中的字母代表什麼。此變量在 else 語句後列出的 PS1 變量中清晰可見。

  • u – 代表當前用戶的用戶名
  • h:這表示從完全限定域名中提取的當前用戶的主機名。
  • w:表示當前工作目錄。主目錄由波浪號 ~ 符號表示。
  • $]表示普通用戶 ($) 或 root (#)。

PS1 變量的配置也可以像這樣回顯和顯示值:

$ echo $PS1

PS1 變量

自定義 Bash 提示

現在我們知道了提示的存儲位置和 PS1 變量的描述,讓我們看看如何編輯它以自定義 bash swift。

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

$ DEFAULT=$PS1

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

現在讓我們用 PS1 變量做一些實驗。輸入以下命令:

$ PS1="u$ "

PS1 的這個新值對提示有以下影響:

沒有設置顏色信息,因此您只能看到沒有顏色的用戶名和根信息。

讓我們輸入以下命令,以便提示符也列出工作目錄

$ PS1="u:w$ "

PS1 的這個新值對提示有以下影響:

列出工作目錄

我的工作目錄在家裡,所以我只看到 ~ 符號。在其他目錄中,說“圖像”,提示說:

自定義提示

恢復默認提示

由於我們將 PS1 變量的原始配置保存在 DEFAULT 變量中,因此我們可以通過將 DEFAULT 變量的值指定為 PS1 的值來恢復默認值。

恢復默認提示

還有什麼可以定制的?

如果你想提醒 包括特定的自定義文本,您可以使用以下語法:

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

例子:

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

自定義命令行提示文本

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

特徵目的
d日-月-日格式的日期。
e鐘字符。
一種轉義字符。
H。當前用戶的主機名最多為 ‘.’
H。當前用戶的主機名。
l終端設備基本名稱。
jshell 正在運行的作業數。
r進來。
n新隊。
當前用戶的用戶名。
v重擊版本。
打印正在執行的命令的歷史編號。

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

$ 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 技巧

在 Bash 提示中使用文本樣式

您可以通過為顏色標籤分配屬性值來為提示文本添加樣式。這是一種帶有屬性的顏色標籤。

[ 33[ATTRIBUTE; COLORm]

提示文本可以具有以下屬性值:

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

例子:

您可以將以下命令與下劃線 bash swift 一起使用:

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

值 4 表示您希望文本帶有“下劃線”。

人物風格

永久更改提示

到目前為止,您運行的命令只會更改當前的提示 bash 會話。一旦您嘗試自定義提示文本並為其著色並達到您希望為 bash 會話中的所有提示永久設置的最終結果,您將需要編輯您的 bashrc 文件。

打開 .bashrc 文件並複制您在 if; then 行下方的 PS1 行上標記的 PS1 值。在下圖中,我將 bash 提示的顏色更改為紅色。

.bashrc 文件

保存 按 Ctrl+X、Y 創建文件。 bash 提示符變為永久性的。退出終端並重新打開它以確保 bash 提示符與您設置的一樣。

永久更改顏色 bash 提示

練習完本教程後,您將能夠快速自定義 bash。然後,您可以設置顏色以區分已合併到提示中的不同功能。這將允許您每次都使用 bash swift。