linux 中输出带有颜色字体
Linux系统改变字体颜色,就是用“ANSI非常规字符序列”来生成,输出带颜色的字体可通过将字符串包裹在 \e[32m xxxx \e[0m中实现,如:1
2
3
4
5printf "\e[32m this is green \e[0m"
or
echo -e "\e[32m this is green \e[0m"
tips: \e写成\033也是可以的,如果要多种方式结合,数字间用分号隔开即可(建议最多3个),如\e[47;5;4;32m eee \e[0m,为白底闪烁下划线绿色的eee。
\e[:格式化字体的标识符\e[32m:表示将其后的字符串格式成给定的 32 格式。- 给的数字不同,则转换成不同的格式
\e[0m:表示取消格式,不然后面字符都会按上一个格式一直格式下去
不同数字对应的格式
| 背景色 | 字体颜色 | 其他 |
|---|---|---|
| 40 黑色 | 30 黑色 | 0 恢复到默认值 |
| 41 红色 | 31 红色 | 1 粗体 |
| 42 绿色 | 32 绿色 | 2 设置一半的亮度 |
| 43 黄色 | 33 黄色 | 4 下划线 |
| 44 蓝色 | 34 蓝色 | 5 闪烁 |
| 45 紫色 | 35 紫色 | 7 反向图像 |
| 46 青色 | 36 青色 | 22 一般密度 |
| 47 白色 | 37 白色 | 25 关闭闪烁 |