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
自定義 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 | 終端設備基本名稱。 |
j | shell 正在運行的作業數。 |
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 提示中使用文本樣式
您可以通過為顏色標籤分配屬性值來為提示文本添加樣式。這是一種帶有屬性的顏色標籤。
[ 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 提示的顏色更改為紅色。
保存 按 Ctrl+X、Y 創建文件。 bash 提示符變為永久性的。退出終端並重新打開它以確保 bash 提示符與您設置的一樣。
練習完本教程後,您將能夠快速自定義 bash。然後,您可以設置顏色以區分已合併到提示中的不同功能。這將允許您每次都使用 bash swift。