您的Ubuntu系统使用作为默认的终端应用程序bash或dash。您可以根据一个默认提示输入命令,该提示通常在一些预定义的颜色主题中列出您的用户名、主机名和当前目录。bash为提示符提供了许多自定义选项,您不仅可以使用这些选项在提示符中集成各种特性,还可以使用不同的颜色区分它们。
在本文中,我们将使用各种示例对终端应用程序的提示符进行自定义和重新着色,使您能够根据自己的需要进行操作。我们正在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变量之前,重要的是将其默认内容存储在一个新变量中。如果出现错误,这将帮助我们恢复提示符的原始配置。在终端输入以下命令:
PS1
现在,变量“DEFAULT”具有恢复默认提示设置所需的所有信息。
现在让我们用PS1变量进行一些实验。 输入以下命令:
“
PS1的这个新值对您的提示符有以下效果:
现在您只能看到您的用户名和根用户信息,没有任何颜色,因为还没有设置任何颜色信息。
让我们输入以下命令,以便提示符也列出工作目录
“
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:~$
您可以通过以下命令在提示中包括当前系统时间:
PS1=”\A\u: \w$ “
PS1的这个新值对您的提示符有以下效果:
您还可以自定义提示符,以包含命令的输出;这使您可以在提示符中包含无限的选项。
语法:
$ PS1=”\u@\h on [command] \w$ “
例:
在此示例中,我将设置提示以包括当前用户所属的主组的名称。
$ PS1=”\u@\h on id -gn \w$ “
着色提示
自定义提示后,您会发现事情可能看起来有些混乱。 一个明显的原因是,如果它们都以相同的颜色列出,那么将一个特征与另一个特征区分开来并不容易。 现在让我们学习如何着色提示,使其更令人愉悦。
为了向一个或多个特征添加颜色,PS1变量包括颜色标记。 以下图像中突出显示的文本是颜色标记。
保存文件
在完成本教程的练习之后,您可以出色地定制bash提示符。然后,您可以设置颜色来区分您在提示符中包含的不同特性。这样,每次使用bash提示符时,您都可以查看和使用这些有用的信息。