reference: http://hi.baidu.com/chendeping/item/5f203562a97b8a176995e642
-e选项会激活反划开头(\)转义序列的解释。
我用EBNF形式来表达这种彩色模式(cs)
cs ::= "\e["cp{;cp}"m"
cp ::= d [d]
d ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
上面的\e可以替换为\033或者\x1b,这三者的转义完全等价。
下面是颜色属性(cp)的说明:
可选编码:
0 重新设置属性到缺省设置
#####效果
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
#####前景色
30 设置黑色前景
31 设置红色前景
32 设置绿色前景
33 设置棕色前景
34 设置蓝色前景
35 设置紫色前景
36 设置青色前景
37 设置白色前景
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
#####背景色
40 设置黑色背景
41 设置红色背景
42 设置绿色背景
43 设置棕色背景
44 设置蓝色背景
45 设置紫色背景
46 设置青色背景
47 设置白色背景
49 设置缺省黑色背景
举例:
显示棕底红字带下划线的粗体字,内容是Hello, world.,显示完成后恢复缺省设置:
echo -e "\e[31;43;1;4mHello, world.\e[0m"