如何自定义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