无意间发现别人的makefile编译时输出的提示信息是彩色的,于是就深入的研究了下。
例如:
echo -e "\033[33m make yocto start \033[0m"
打印效果如下:
于是针对这条命令作了拆分并了解了含义:
解析
\033:
是 ANSI 转义序列的开头,033 是八进制,表示转义字符 ESC(ASCII 值为 27)。
用于开始颜色或样式设置。
[33m:
定义颜色代码。
33 表示黄色(前景色)。
make yocto start:
是要输出的文本内容,显示为黄色。
\033[0m:
这是 ANSI 转义序列的重置部分。
0m 用于清除之前的颜色和样式,恢复到默认状态。
-e:
echo 的参数,用于使反斜杠转义序列生效。
由此去想到是否可以输出背景色,于是经过查资料发现:
常见文本颜色代码
你可以更改 33
来实现不同颜色的文本输出:
代码 | 前景色 | 背景色 |
---|---|---|
30 | 黑色 | 黑色 |
31 | 红色 | 红色 |
32 | 绿色 | 绿色 |
33 | 黄色 | 黄色 |
34 | 蓝色 | 蓝色 |
35 | 紫色 | 紫色 |
36 | 青色 | 青色 |
37 | 白色 | 白色 |
常见背景颜色代码
背景色代码 | 背景色 | 示例 |
---|---|---|
40 | 黑色 | \033[40m |
41 | 红色 | \033[41m |
42 | 绿色 | \033[42m |
43 | 黄色 | \033[43m |
44 | 蓝色 | \033[44m |
45 | 紫色 | \033[45m |
46 | 青色 | \033[46m |
47 | 白色 | \033[47m |
常见的其他样式代码
样式代码 | 含义 | 示例 |
---|---|---|
1 | 粗体/高亮 | \033[1mBold Text\033[0m |
4 | 下划线 | \033[4mText\033[0m |
7 | 反显(背景前景交换) | \033[7mReversed\033[0m |
0 | 重置样式 | \033[0m |
-
输出黄色背景,黑色前景
echo -e "\033[43;30m Yellow Background with Black Text \033[0m"
下划线 + 蓝色背景+白色前景色
echo -e "\033[4;37;44m Underlined Text with Blue Background \033[0m"