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

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

在本文中,我們將使用各種示例來自定義和重新著色我們的終端應用程序的提示,這將使您能夠根據需要執行相同的操作。 我們在 Debian 10 Buster 系統上擁有本文中描述的命令和過程。

查看當前的 Bash 提示配置

當您通過 Debian Application Launcher 搜索打開終端時,您會看到如下提示:

[email protected]:目錄$

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

$ nano ~/.bashrc

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

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

這是這個配置文件的樣子。 我們在此處向您展示文件的相關部分。

您在上圖中看到的 PS1 變量具有 bash 迅速的。 讓我們先解釋一下這個變量中的字符表示什麼。 在else語句後面列出的PS1變量中可以清楚地查看這個變量。

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

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

$迴聲 $ PS1

PS1 變量

自定義 Bash 提示

看到提示信息的存儲位置和PS1變量描述的內容後,讓我們看看如何對其進行編輯以自定義我們的 bash 迅速的。

在編輯 PS1 變量之前,重要的是將其默認內容存儲在新變量中。 如果出現問題,這將幫助我們將提示恢復到其原始配置。 Enter 在您的終端中執行以下命令:

$默認=$PS1

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

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

$ PS1 = “u$”

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

您只能看到您的用戶名和 root 用戶信息,沒有任何顏色,因為尚未設置顏色信息。

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

$ PS1 = “u:w$”

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

列出工作目錄

由於我的工作目錄在家裡,我只能看到 ~ 符號。 在其他目錄中,說“圖片”,我的提示將顯示以下信息:

自定義提示

將提示設置回默認值

由於我們已將 PS1 變量的原始配置存儲在 DEFAULT 變量中,因此我們可以通過將 DEFAULT 變量的值提供給 PS1 的值來將其設置回默認值。

將提示設置回默認值

你還能定制什麼?

如果您希望提示 包含特定的自定義文本,您可以使用以下語法:

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

例子:

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

自定義命令行提示文本

您可以在提示中加入以下基本字符:

特點目的
d日月日期格式的日期。
e鈴字符。
一個轉義字符。
H當前用戶的主機名直到’.’
H當前用戶的主機名。
l終端設備的基本名稱。
jshell 正在運行的作業數。
r回車。
n一條新線。
當前用戶的用戶名。
vbash 版本。
!打印正在運行的命令的歷史編號。

你可以 包括當前系統時間 在您的提示中通過以下命令:

$ PS1 = ”Au:w$“

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

在命令提示符中顯示時間

您還可以自定義提示以包含命令的輸出; 這為您提供了無限的選項來合併到您的提示中。

句法:

$ PS1 = “[email protected]h 是`[command]` w$ ”

例子:

在這 example,我將設置提示以包含當前用戶所屬的主要組的名稱。

$ PS1 = “[email protected]h 在`id -gn` w$ ”

在提示符中顯示命令輸出

給 Bash 提示上色

自定義提示後,您會意識到事情可能看起來有點混亂。 簡單的原因是,如果它們都以相同的顏色列出,那麼將一個特徵與另一個特徵區分開來就不太容易了。 現在讓我們學習如何為提示著色以使其更賞心悅目。

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

為命令提示符添加顏色

這是顏色標籤的格式:

[33[COLOR]米]

為了 example,由於以下顏色標記,我們在默認終端提示中看到的默認用戶名和主機名是綠色的:

[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 Prompt 中使用文本樣式

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

[33[ATTRIBUTE; COLORm]

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

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

例子:

您可以使用以下命令在您的下劃線 bash 迅速的:

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

值 4 表示我們要為文本“加下劃線”。

文字樣式

對提示進行永久性更改

到目前為止您執行的命令只會更改當前的提示 bash 會議。 在您對提示的文本自定義和著色進行試驗,並達到您想要為所有您的所有內容永久設置的最終結果後 bash 會話,您需要編輯您的 bashrc 文件。

打開.bashrc文件,複製你在if下PS1行中確定的PS1值; 然後線。 在下圖中,我剛剛更改了我的顏色 bash 提示為紅色:

.bashrc 文件

Save 通過按 Ctrl+X 然後按 Y 來創建文件。 bash 提示現在將是永久性的。 Exit 終端並重新打開以查看您的 bash 提示仍將與您設置的相同。

改變顏色 bash 永久提示

跟著本教程練習後,您可以擅長自定義您的 bash 迅速的。 然後,您可以設置顏色以區分您已合併到提示中的不同功能。 通過這種方式,您每次使用 bash 迅速的。