Andy Forceno Asked: 2019-05-06 16:50:47 +0800 CST2019-05-06 16:50:47 +0800 CST 2019-05-06 16:50:47 +0800 CST Bash - 带有粗体黑色文本的紫色背景的 ANSI 颜色代码 772 带有黑色粗体文本(前景)的紫色(或深紫色)背景的 ANSI 颜色代码是什么。 例如,这里是带有黑色粗体文本的青色: echo -e "\e[30;1;46mExample\e[0m" 在查阅了许多 ANSI 颜色代码列表和示例后,我无法弄清楚如何对紫色背景进行同样的处理。我能想到的最接近的是带有黑色粗体文本的洋红色背景,使用30;1;45m: bash colors 1 个回答 Voted Best Answer Stephen Harris 2019-05-06T17:25:27+08:002019-05-06T17:25:27+08:00 您的转义序列\e[30;1;45m可能更容易理解为三个序列的合并: \e[30m-- 这意味着“黑色前景” \e[1m-- 这意味着“明亮的前景” \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)
您的转义序列
\e[30;1;45m
可能更容易理解为三个序列的合并:\e[30m
-- 这意味着“黑色前景”\e[1m
-- 这意味着“明亮的前景”\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 脚本将显示所有背景颜色,可以帮助您选择所需的颜色。
(取自http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html#background-colors)