首頁 > 軟體

如何客製化您的Ubuntu終端提示符

2020-06-16 16:35:09

您的Ubuntu系統使用作為預設的終端應用程式bash或dash。您可以根據一個預設提示輸入命令,該提示通常在一些預定義的顏色主題中列出您的使用者名稱、主機名和當前目錄。bash為提示符提供了許多自定義選項,您不僅可以使用這些選項在提示符中整合各種特性,還可以使用不同的顏色區分它們。

在本文中,我們將使用各種範例對終端應用程式的提示符進行自定義和重新著色,使您能夠根據自己的需要進行操作。我們正在Ubuntu 18.04 LTS系統上執行本文描述的命令和過程。

檢視當前Bash提示符設定

當您通過Dash或Ctrl+Alt +T快捷鍵開啟終端時,您會看到如下提示:

linuxidc@linuxidc:~$

此預設格式列出使用者名稱、主機名以及使用者的當前目錄。bash從bashrc檔案中獲取此設定,該檔案是為每個使用者在其主目錄中單獨設定的。你可以這樣開啟這個檔案:

vim ~/.bashrc

位置:/home/username/.bashrc

您還可以使用任何其他文字編輯器開啟此檔案。

這是組態檔的樣子。 我們在這裡向您展示檔案的相關部分。

您在上面的影象中看到的PS1變數具有bash提示符的所有必需設定。 我們首先解釋一下這個變數中的字元是什麼。 您可以在else語句後列出的PS1變數中清楚地檢視此變數。

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

您還可以通過回顯其值來檢視PS1變數的設定,如下所示:

自定義Shell提示符

在了解了提示資訊儲存在何處以及PS1變數描述了什麼之後,讓我們看看如何編輯它,以便客製化bash提示符。

在編輯PS1變數之前,重要的是將其預設內容儲存在一個新變數中。如果出現錯誤,這將幫助我們恢復提示符的原始設定。在終端輸入以下命令:

$ DEFAULT=$PS1

現在,變數“DEFAULT”具有恢復預設提示設定所需的所有資訊。

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

$ PS1="u$ "

PS1的這個新值對您的提示符有以下效果:

現在您只能看到您的使用者名稱和根使用者資訊,沒有任何顏色,因為還沒有設定任何顏色資訊。

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

$ PS1="u:w$ "

PS1的這個新值對您的提示符有以下效果:

由於我的工作目錄是home,我只能看到?符號。 在其他目錄中,比如www.linuxidc.com,我的提示將顯示以下資訊:

 

將提示設定回預設值

由於我們將PS1變數的原始設定儲存在預設變數中,所以可以通過將預設變數的值提供給PS1,將PS1的值設定回預設值。

PS1=DEFAULT

您還可以客製化什麼?

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

PS1="[custom text] u@h:w$ "

例子:

我已經設定了我的提示,包括一個自定義訊息如下:

linuxidc@linuxidc:~$ PS1="Linux公社www.linuxidc.com u@h:w$ "

Linux公社www.linuxidc.com linuxidc@linuxidc:~$

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

字元 用途
d 以日、月為單位日期格式。
e ASCII跳脫字元
a 跳脫字元。
h 當前使用者的主機名直到'.'
H 當前使用者的主機名。
l 終端裝置的基本名稱。
j 由shell執行的作業的數量。
r 回車。
n 一個新行。
u 當前使用者的使用者名稱。
v Bash版本。
! 列印正在執行的命令的歷史記錄編號。

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

PS1="Au: w$ "

PS1的這個新值對您的提示符有以下效果:

您還可以自定義提示符,以包含命令的輸出;這使您可以在提示符中包含無限的選項。

語法:

$ PS1="u@h on `[command]` w$ "

例:

在此範例中,我將設定提示以包括當前使用者所屬的主組的名稱。

$ PS1="u@h on `id -gn` w$ "

著色提示

自定義提示後,您會發現事情可能看起來有些混亂。 一個明顯的原因是,如果它們都以相同的顏色列出,那麼將一個特徵與另一個特徵區分開來並不容易。 現在讓我們學習如何著色提示,使其更令人愉悅。

為了向一個或多個特徵新增顏色,PS1變數包括顏色標記。 以下影象中突出顯示的文字是顏色標記。

這是顏色標記的格式:

[33[COLOR]m]

例如,我們在預設終端提示符中看到的預設使用者名稱和主機名是綠色的,這是因為下面的顏色標籤:

[33[01;32m]u@h

您可以針對bash提示符特性更改此顏色值,以賦予它一個新的顏色,或者向沒有任何顏色的特性新增一個新的顏色標記。

下面是一些常見的顏色及其值:

顏色
Green 32
Red 31
Black 30
Blue 34
Cyan 36
Purple 35
Yellow 33
White 37

例:

以下命令將提示符變為紅色,因為我們在顏色標記中指定了31(紅色):

$ PS1="[33[31m]u@h:w$ "

在提示中使用文字樣式

您可以通過為顏色標記指定屬性值來為提示文字新增樣式。 以下是具有屬性的顏色標記的格式:

[33[ATTRIBUTE; COLORm]

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

屬性值 用途
0 標準文字(即使沒有設定屬性,這也是預設值)
1 在Ubuntu終端中,此值指定粗體文字
2 暗淡文字
4 文字下劃線
5 閃爍的文字
7 反轉文字和背景顏色
8 隱藏的文字

例子:

可以使用以下命令對bash提示加下劃線:

$ PS1="[33[4;31m]u@h:w$ "

值4表示我們想要“下劃線”文字。

對提示符進行永久更改

到目前為止執行的命令只會更改當前bash對談的提示符。在您嘗試了文字自定義和提示符的顏色化之後,您需要編輯bashrc檔案。

開啟.bashrc檔案,複製if下PS1行中您最終確定的PS1值;然後行。在下面的圖片中,我剛剛將bash提示符的顏色更改為紅色:

按Ctrl+X儲存檔案,然後按y儲存。對bash提示符的更改現在將是永久性的。退出終端並重新開啟,可以看到bash提示符仍然與您設定的一樣。

儲存檔案

在完成本教學的練習之後,您可以出色地客製化bash提示符。然後,您可以設定顏色來區分您在提示符中包含的不同特性。這樣,每次使用bash提示符時,您都可以檢視和使用這些有用的資訊。


IT145.com E-mail:sddin#qq.com