Bash - 带有粗体黑色文本的紫色背景的 ANSI 颜色代码

Bash - 带有粗体黑色文本的紫色背景的 ANSI 颜色代码

紫色(或深紫色)背景和黑色粗体文本(前景)的 ANSI 颜色代码是什么。

例如,这里是青色和黑色粗体文本: echo -e "\e[30;1;46mExample\e[0m"

青色背景和粗体黑色文本

在查阅了许多 ANSI 颜色代码列表和示例后,我不知道如何对紫色背景执行相同的操作。我能想到的最接近的是洋红色背景和黑色粗体文本,方法是使用30;1;45m

洋红色背景和粗体黑色文本

答案1

您的转义序列\e[30;1;45m可能更容易理解为三个序列的合并:

  1. \e[30m-- 这意味着“黑色前景”
  2. \e[1m-- 这意味着“明亮的前景”
  3. \e[45m-- 这意味着“洋红色背景”

现在这些颜色序列仅限于 8 种颜色

  • 黑色的
  • 红色的
  • 绿色的
  • 黄色的
  • 蓝色的
  • 品红
  • 青色
  • 白色的

这些是传统的 ANSI 颜色。

但是,如果您的终端支持,有些序列允许选择 256 种颜色。

\e[38;5;###m其中###是 0 到 255 之间的数字将选择前景色。

\e[48;5;###m同样选择背景颜色。

所以也许\e[38;5;0;1;48;5;92m可能接近你想要的。

注意:如果您使用 256 色背景设置,那么您还需要使用 256 色前景设置。

FWIW,以下 python 脚本将显示所有背景颜色,可以帮助您选择所需的颜色。

import sys
for i in range(0, 16):
    for j in range(0, 16):
        code = str(i * 16 + j)
        sys.stdout.write(u"\u001b[48;5;" + code + "m " + code.ljust(4))
    print u"\u001b[0m"

(取自http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html#background-colors

相关内容