当前位置: 首页 > 科技观察

如何自定义您的Linux终端提示符

时间:2023-03-15 13:03:45 科技观察

您的Ubuntu系统使用bash或dash作为默认终端应用程序。您根据默认提示输入命令,该提示通常以某种预定义的配色方案列出您的用户名、主机名和当前目录。bash为提示提供了很多自定义选项,您不仅可以在提示中集成各种功能,还可以用不同的颜色来区分它们。在本文中,我们将使用各种示例来自定义和重新着色终端应用程序的提示,让您可以随心所欲地进行操作。我们正在Ubuntu18.04LTS系统上运行本文中描述的命令和过程。查看当前Bash提示配置当您通过Dash或Ctrl+Alt+T快捷方式打开终端时,您将看到这样的提示:linuxidc@linuxidc:~$这种默认格式列出了用户名、主机名和用户的当前目录。bash从bashrc文件中获取此配置,该文件是为每个用户在其主目录中单独设置的。你可以这样打开这个文件:vim~/.bashrcLocation:/home/username/.bashrc你也可以用任何其他文本编辑器打开这个文件。这就是配置文件的样子。我们在这里向您展示文件的相关部分。您在上图中看到的PS1变量具有bash提示符所需的所有配置。我们先解释一下这个变量中的字符是什么。在else语句后面列出的PS1变量中可以清楚地看到这个变量。\u-这表示当前用户的用户名\h:这表示从完全限定域名中提取的当前用户的主机名。\w:表示当前工作目录。主目录由波浪号~符号表示。\$:这表明您是普通用户($)还是根用户(#)。您还可以通过回显其值来查看PS1变量的配置,如下所示:CustomShellPrompt既然我们了解了提示信息的存储位置以及PS1变量描述的内容,让我们看看如何编辑它以便自定义bash提示符。在编辑PS1变量之前,将其默认内容存储在新变量中很重要。如果出现问题,这将帮助我们恢复提示的原始配置。在终端中输入以下命令:$DEFAULT=$PS1变量“DEFAULT”现在具有恢复默认提示设置所需的所有信息。现在让我们用PS1变量做一些实验。输入以下命令:$PS1="\u\$"PS1的这个新值对您的提示有以下影响:现在您只能看到您的用户名和根用户信息,没有任何颜色,因为没有设置颜色信息。让我们输入以下命令,以便提示符也列出工作目录$PS1="\u:\w\$"PS1的这个新值对您的提示符有以下影响:因为我的工作目录是home,所以我只能看到~符号。在其他目录下,比如www.linuxidc.com,我的提示会显示如下信息:Settingthepromptbacktodefault由于我们将PS1变量的原始配置存储在默认变量中,可以通过提供默认变量为PS1,将PS1的值设置回默认值。PS1=DEFAULT您还可以自定义什么?如果希望提示包含特定的自定义文本,可以使用以下语法:PS1="[自定义文本]\u@\h:\w\$"示例:我设置了我的提示,包括自定义消息如下:linuxidc@linuxidc:~$PS1="Linux公社www.linuxidc.com\u@\h:\w\$"Linux公社www.linuxidc.comlinuxidc@linuxidc:~$你可以添加以下基本字符提示符:字符用途\d日期格式,以日月为单位。\eASCII转义字符\a转义字符。\h当前用户的主机名到'.'\H当前用户的主机名。\l终端设备的基本名称。\jshell运行的作业数。\r输入。\n换行。\u当前用户的用户名。\v重击版本。\!打印正在运行的命令的历史编号。您可以使用以下命令在提示中包含当前系统时间:PS1="\A\u:\w\$"PS1的这个新值对您的提示有以下影响:您还可以自定义提示以包括输出命令的;这允许您在提示中包含最新的选项。语法:$PS1="\u@\hon`[command]`\w\$"示例:在此示例中,我将提示设置为包括当前用户所属的主要组的名称。$PS1="\u@\hon`id-gn`\w\$"ColoringHints一旦你定制了你的提示,你会发现事情看起来有点混乱。一个明显的原因是,如果它们都以相同的颜色列出,则很难将一个特征与另一个特征区分开来。现在让我们学习如何为提示着色以使其更令人愉悦。要为一个或多个特征添加颜色,PS1变量包括颜色标志。下图中突出显示的文本采用颜色编码。这是颜色标签的格式:\[\033[COLOR]m\]例如,我们在默认终端提示中看到的默认用户名和主机名是绿色的,因为有以下颜色标签:\[\033[01;32m\]\u@\h\您可以更改bash提示功能的此颜色值以赋予它新的颜色,或者向没有任何功能的功能添加新的颜色标签。以下是一些常见的颜色及其值:颜色值Green32Red31Black30Blue34Cyan36Purple35Yellow33White37示例:以下命令将提示变为红色,因为我们指定了31(红色):$PS1="\[\033[31m\]\u@\h:\w$"在提示中使用文本样式您可以通过为颜色标签指定属性值来为提示文本添加样式。下面是带有属性的颜色标签的格式:\[\033[ATTRIBUTE;COLORm\]提示文本可以使用以下属性值:属性值使用0标准文本(即使没有设置属性也是默认的)1在Ubuntu终端中,该值指定粗体文本2暗文本4下划线文本5闪烁文本7反转文本和背景颜色8隐藏文本$"值为4表示我们要为文本添加“下划线”。对提示进行***更改到目前为止执行的命令仅更改当前bash会话的提示。在尝试了提示的文本自定义和着色后,您需要编辑bashrc文件。打开.bashrc文件,将你敲定的PS1值复制到if下的PS1行;然后线。在下图中,我只是将bash提示符的颜色更改为红色:按Ctrl+X保存文件,然后按y保存。对bash提示的更改现在将是永久性的。退出终端再重新打开,可以看到bash提示符还是和你设置的一样。保存文件完成本教程中的练习后,您可以很好地自定义bash提示符。然后,您可以设置颜色来区分提示中包含的不同属性。这样,您就可以在每次使用bash提示符时查看和使用这些有用的信息。