ANSI 颜色代码是一种在终端中显示彩色文本的标准,通过在文本中插入特殊的转义序列来实现。这些序列通常以ESC 字符(ASCII 码27,八进制033,十六进制1B)开头,后跟方括号[] 和数字代码,用于控制文本的颜色、样式和背景等属性。
ANSI 颜色代码主要包括以下几类:
文本颜色:
30-37 和90-97 分别代表普通和亮色的文本颜色。例如,31 是红色,91 是亮红色。
字体颜色 | 背景颜色 | 颜色描述 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青色 |
37 | 47 | 白色 |
背景颜色:
40-47 和100-107 分别代表普通和亮色的背景颜色。例如,42 是绿色背景,102 是亮绿色背景。
其他属性:
如加粗(1), 下划线(4), 反色(7) 等。使用0 可以重置所有属性到默认值。
显示方式 | 效 果 |
---|---|
0 | 终端默认设置 |
1 | 高亮显示 |
4 | 使用下划线 |
5 | 闪烁 |
7 | 反色显示 |
8 | 不可见 |
示例:
\033[32m 设置文本颜色为绿色(32)。
\033[45m 设置背景颜色为品红(45)。
\033[1;31m 设置文本为加粗红色(1, 31)。
\033[0m 重置所有属性为默认值。
在终端中使用ANSI 颜色代码:
在Linux 或macOS 的终端中,可以直接在命令行中使用 echo -e 命令输出带有ANSI 颜色代码的字符串,例如:
代码
echo -e “\033[31mThis is red text\033[0m”
注意事项:
不是所有终端都完全支持ANSI 转义序列,一些老的终端可能无法正确显示颜色。
在Windows 系统上,需要使用支持ANSI 终端的工具,如 Cygwin 或 MinGW,或者使用一些特殊的库来支持ANSI 颜色,博客园 提供了一些方法。
ANSI 颜色代码可以用于Shell 脚本,使输出更加美观和易于阅读。