📌  相关文章
📜  如何在 Linux 终端提示中自定义 Bash 颜色和内容

📅  最后修改于: 2022-05-13 01:57:29.023000             🧑  作者: Mango

如何在 Linux 终端提示中自定义 Bash 颜色和内容

如果您使用的是 Linux 操作系统,这意味着您大部分时间都在使用 CLI。并在终端上做更多的工作。默认情况下,大多数 Linux 操作系统为您提供 bash shell。 Shell 提供用户和内核之间的接口并执行命令。在本文中,我们将看到如何自定义 bash shell 提示

了解默认 BASH 提示

在自定义 bash shell 提示之前,首先要了解默认的 bash 提示。此默认提示如下所示:

username@hostname:~$

或者

[username@hostaname ~]$

bash提示符@字符前的第一部分即字符串表示当前用户的用户名。 bash 提示符的最后一部分表示系统的主机名。然后 ~ 符号表示提示的当前路径。如果 : 或 ]字符后的符号是 $ 表示帐户是标准帐户,或者如果此字符是 # 则帐户是根

了解 BASH 提示的不同部分

要自定义 bash 提示符,首先我们应该了解 bash 提示符的工作原理。 Bash 提供了提示语句。 bash提示语句有四种



  • PS1 –这是主要的提示语句。我们将自定义此提示。
  • PS2 -这是辅助提示语句。基本上,当用户提供由 \字符分隔的长命令时使用它。
  • PS3 –此提示用于选择命令。
  • PS4 –此提示用于在调试模式下运行 shell 脚本。

要查看当前 PS1 提示语句的值,可以使用以下命令:

echo $PS1

ps1 包含反斜杠和其他具有特殊含义的字母字符,这些字符在手册页的提示部分中列出。在上面的输出中,我们可以看到 \u \h 和 \W 是提示字符,@ 和 # 是特殊字符。

要自定义 bash 提示,我们将处理 PS1 提示和 PS2 提示。一般情况下,PS2 提示符只包含一个字符>。要查看 PS2 提示的内容,请使用 echo 命令:

echo $PS2

$PS3 将为空白,PS4 将包含 +字符

在 Linux 中自定义 Bash 提示

bash 提示符可以从 ~/.bashrc 文件中自定义。该文件包含提示语句。该文件存在于用户的主目录中。



~/.bashrc

在编辑此文件之前,请备份 ~/.bashrc 文件。使用以下命令备份 ~/.bashrc 文件

cp ~/.bashrc  ~/.bashrc.bak

永久更改 Linux 中的 Bash 提示

要永久更改 bash 提示,我们可以编辑文件 ~/.bashrc 并更改 PS1 的值。要编辑此文件,您可以使用任何编辑器,但在本教程中,我们将使用 nano 编辑器,因为它易于使用。现在打开 ~/.bashrc 文件,使用以下命令:

nano ~/.bashrc

然后你会看到有一个 PS1 变量。

您可以编辑此变量的值来更改提示。现在,让我们将此提示的值更改为 bashprompt>。然后使用 ctrl+s 保存文件,然后使用 ctrl+x 关闭文件。然后使用以下命令查看提示符的变化

source ~/.bashrc

现在我们永久更改了 bash 提示。

创建对 BASH 提示的临时更改

我们可以使用 export 命令临时更改我们的 bash 提示,此提示将适用于当前会话。要更改临时 bash shell 提示,请使用以下命令:

export PS1="bashprompt>"

或者您可以直接运行以输入带有值的 PS1 变量作为命令:



修改 Bash 提示中的“username@hostname”部分

大多数 Linux 发行版都包含 username@hostname 作为 bash 提示。我们可以将其更改为我们想要的任何内容。我们只需要修改 PS1 变量的值。在上面两节中,我们已经看到了如何永久和临时修改 PS1字符的值。根据需要更改 PS1 的值。所以现在要将 username@hostname 更改为“myprompt@linux>”,我们可以将 PS1 的值设置为

export PS1="myprompt@linux> "

现在让我们看看如何在 bash 提示中添加表情符号。要将表情符号添加到提示中,首先,请确保您已在系统上安装了任何表情符号字体。要在提示中使用表情符号,只需将表情符号放在 PS1 变量中即可。这是一个例子:

PS1="???? ~ "

要在提示中显示 bash shell 的版本,请将 \v 提示字符放在 PS1 变量中:

PS1="Bash \v>"

要显示补丁级别的当前 bash 版本,请使用 \V 提示字符:

PS1="Bash \V>"

自定义 PS1 格式

要自定义 PS1 提示,我们需要编辑 PS1 提示的内容。该PS1包含一些字符,后面的反斜杠字符。以下是在 PS1 提示符中写入的相同字符:



  • \u:该字符表示当前用户的用户名。
  • \h:此字符表示主机名,直到第一个 ' 。 ' 完全限定域名中的字符
  • \W:该字符显示当前工作目录的基本路径。对于主目录,该值将为波浪号 (~)字符。
  • \$:这个字符用来分隔命令和提示符。如果帐户是标准帐户,则此字段包含 $字符,或者如果帐户是根帐户,则此字段包含 #字符。

现在让我们在 PS1 中添加一些其他选项并检查我们的提示看起来像 \!字符显示当前命令的数量, \H字符显示完整的完全限定域主机名,而不是显示到 ' 。 '字符。这是现在的提示:

PS1="[\u@\H \W \!]$"

在接下来的部分中,我们将探索更多提示选项或字符。

BASH 提示的流行自定义选项

现在让我们看看如何使用 bash shell 为提示提供的选项自定义 bash 提示。在向提示中添加任何选项之前,请在选项前使用 \字符。

显示用户名和域名

Bash 提示提供了两个选项,通过使用这些我们可以在提示中显示主机名和用户名。

  • 要在提示中显示用户名,请使用 u字符后跟 \字符。
  • 要在提示中显示主机名,请在 PS1 中使用 h字符。

这是一个例子:

export PS1="\u \h >"

添加特殊字符

我们可以在 bash 提示符中添加特殊字符。只需按照您希望如何自定义提示的顺序排列它们。这是一个例子:

export PS1="\u@\h> "

您应该始终在提示末尾使用特殊字符,这对于分隔命令和提示很有用。



向 BASH 提示添加日期和时间

现在让我们看看如何将时间添加到 bash 提示符中。以下是用于在提示中显示日期和时间的选项

  • d – 此选项将以“工作日月份日期”格式显示日期

  • t – 此选项将以 24 小时 HH:MM:SS 格式显示当前时间

  • T – 此选项将以 12 小时 HH:MM:SS 格式显示当前时间

  • A – 此选项将以 24 小时 HH:MM 格式显示当前时间

隐藏 BASH 提示中的所有信息

为了防止在提示中显示用户名和主机名,请不要在 PS1 变量中使用 h 和 u字符。只需使用 W字符来显示当前目录的路径。

区分root用户和普通用户

bash 提示符通过提示符末尾的 $ 和 #字符进行区分。 $字符用于标准用户,#字符用于 root 用户。

export PS1="\u@\H \W:\$ "



要了解所有颜色选项,请阅读 bash 手册页的提示部分。使用 man 命令。

输入命令

tput 是向shell 提供终端相关信息的命令。tput 命令查询术语信息数据库以获取信息。现在让我们看看如何使用 tput 命令来更改提示颜色。现在让我们看看如何更改提示的背景和前景的颜色。

以下是可与 tput 命令一起使用的选项:

  • tput bold –应用粗体效果
  • tput rev –显示反色
  • tput sgr0 –重置一切
  • tput setaf {code} –设置前景色。查看下表了解{code}的值
  • tput setab {code} –设置背景颜色,见下表了解{code}的值

与 tput 命令一起使用的颜色代码:

Color {code}Color
0Black
1Red
2Green
3Yellow
4Blue
5Megenta
6Cyab
7White

如何更改 BASH 提示颜色

我们可以更改 bash 提示的颜色。这是一个例子:

export PS1="\e[0;32m[\u@\h \W]\$ \e[0m"

现在让我们看看如何更改 bash 提示的颜色:

  • \e[ - 这个字符串告诉 bash 提示从下一个字符应用颜色。
  • 0;32m – 该字符串代表颜色。前面的数字;代表字体。和后面的数字;代表颜色代码。
  • \e[0m – 此字符串将告诉 bash 提示将颜色应用于前一个字符。

以下是字体的值:

  • 0 – 正常
  • 1 – 粗体
  • 2 – 昏暗
  • 4 – 下划线

以下是颜色代码的值:

  • 30 – 黑色
  • 31 - 红色
  • 32 - 绿色
  • 33 - 布朗
  • 34 - 蓝色
  • 35 - 紫色
  • 36 – 青色
  • 37 – 浅灰色

您可以使用上述颜色的不同组合来创建主题。

如何将 BASH 更改重置为默认设置

如果您希望外壳恢复原状,那么我们可以这样做。在本文开头,我们创建了备份文件 ~/.bashrc 文件。现在要恢复原始的 bash 提示符,我们可以使用该文件。使用以下命令:

cat ~/.bashrc.bak > ~/.bashrc

要了解有关 bash 提示符的更多信息,请阅读 bash 的手册页。

man bash