Linux下设置终端文本的显示属性

Linux 通过ANSI逸出序列(escape sequences)设置终端文本的显示属性,如文本的前景与背景颜色等,形式为
ESC[{parameters…}m

ESC用于引导逸出序列,八进制、十进制与十六进制分别表示为033/27/0x1b,通常以反斜杠(”)转义的形式\033,\x1b或\e表示
{parameters…}为指定的显示属性,通过数字表示,可以为单个属性,也可以为由分号(;)分隔的多个属性组成的列表,单个属性可以位于属性列表的任意位置,不影响设置
m表示显示属性的末尾
ESC,左方括号([),显示属性与m之间都不包含空格,m与随后的文本之间可以包含可选的空格

字符属性:
01:bold,加粗
22:取消加粗
04:underscore,下划线
24:取消下划线
05:blink,闪烁
25:取消闪烁
07:reverse,反显,即翻转前景色与背景色
27:取消反显
08:hidden,隐藏
28:取消隐藏
00:reset,将所有属性与颜色重置为默认

字符/前景颜色:30 – 39
30:black,黑色
31:red,红色
32:green,绿色
33:brown,棕黄色
34:blue,蓝色
35:magenta,紫色
36:cyan,青色
37:white,白色
38:开启下划线,并设置默认前景颜色
39:关闭下划线,并设置默认前景颜色

背景颜色:40 – 49
40:黑色
41:红色
42:绿色
43:棕黄色
44:蓝色
45:紫色
46:青色
47:白色
49:默认背景颜色

终端文本的显示属性可以通过C程序与shell/Python脚本等设置,如bash中

echo -e "\e[1;5;31m Successfully.\x1b[0m"

表示以加粗红色字体,闪烁显示Successfully.,随后将所有属性恢复默认

或C语言中

printf("\033[1;4;32mHello,world\033[0m\n");

表示以带下划线的加粗绿色字体显示Hello,world,随后将所有属性恢复默认

参考
ascii(7)
console_codes(4)

Bash: Using Colors
http://webhome.csc.uvic.ca/~s…

Bash tips: Colors and formatting (ANSI/VT100 Control sequences)
http://misc.flogisoft.com/bas…

    原文作者:superw
    原文地址: https://segmentfault.com/a/1190000007276789
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞