linux 中输出带有颜色字体

linux 中输出带有颜色字体

Linux系统改变字体颜色,就是用“ANSI非常规字符序列”来生成,输出带颜色的字体可通过将字符串包裹在 \e[32m xxxx \e[0m中实现,如:

1
2
3
4
5
printf "\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 关闭闪烁
0%