编辑

编辑

我在一些屏幕截图(不记得在网络上的哪里)中看到终端可以[username@machine /]$以粗体字母显示。我也很期待得到这个,因为我总是发现自己滚动浏览长输出,很难找到命令后的第一行。

如何将用户名等设置为粗体或彩色?

答案1

找到 yourPS1在 your 中的设置位置.bashrc'\[\e[1m\]'在开头和\[\e[0m\]结尾插入。

  • \[\]是必要的,这样 shell 就知道内部的混乱占用了屏幕上的 0 空间,这可以防止在进行行编辑时出现一些混乱的行为。您无需对此过于担心。
  • \e[被称为CSI(控制序列引入器)。您将看到它在引用的维基百科页面上列出的大多数代码中使用。\e 表示转义字符。
  • 如果您查看维基百科页面上的 SGR 表,您会看到 1 是明亮/粗体文本的数字,0 是重置的数字。因此,CSI 1m打开粗体并CSI 0m重置字体,以便文本的其余部分正常。

维基百科有完整的ANSI 转义码列表如果您的终端仿真器支持,您就可以使用它。

编辑

为了可移植性和可读性,您应该使用tput转义码而不是硬编码。唯一的缺点是该tput方法不适用于支持 ANSI 代码但 terminfo 数据库损坏或丢失的终端,但在这种情况下,损坏的 terminfo 是一个更大的问题,因为许多依赖 terminfo 的控制台应用程序可能无法正常工作。

这是我在我的 中所做的示例.bashrc

# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "

这是我的通用版本的样子。这0是最后一个命令的退出状态。

PS1截图

答案2

您应该能够通过PS1~/.bashrc文件中设置提示变量来完成此操作,如下所示:

PS1='[\u@\h \w]\$ '

要使其着色(可能是粗体 - 这取决于您的终端模拟器是否启用了它),您需要添加转义颜色代码:

PS1='\[\e[1;91m\][\u@\h \w]\$\[\e[0m\] '

1;91m在这里,和部分之间未转义的所有内容0m都将以颜色(粗体红色)着色1;91。将这些转义码放在提示的不同部分以使用不同的颜色,但请记住使用重置颜色,0m否则您也会有彩色终端输出。请记住随后获取该文件以更新当前 shell:source ~/.bashrc

答案3

这是您在 cygwin bash shell 中收到的默认提示符:

PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '

在此输入图像描述

\[\e]0;\w\a\] = Set the Window title to your current working directory
\n            = new line
\[\e[32m\]    = Set text color to green
\u@\h         = display username@hostname
\[\e[33m\]    = Set text color to yellow
\w            = display working directory
\[\e[0m\]     = Reset text color to default
\n            = new line
\$            = display $ prompt

参考:

答案4

要使其看起来像默认的 Ubuntu 提示符,请添加

export PS1='\[\e[1;32m\]\u@\h\e[0;39m\]:\e[1;34m\]\w\e[0;39m\]$\[\e[0m\] '

在你的~/.bashrc

这将产生众所周知的绿色user@host(粗体),后跟一个非粗体白色冒号,后面是粗体蓝色的工作目录,后面是一个$符号、一个空格,最后是非粗体白色字母的命令:

Ubuntu Bash 提示符

相关内容