Linux系统改变字体颜色,就是用“ANSI非常规字符序列”来生成。举例:
printf( "\033[44;37;5m 需要输出的字符串 \033[0m " )
“\033[44;37;5m”的意义:
\033[ 改变颜色的标示符
“44;37;5m”其中: 44 为字体背景颜色,取值范围40-47 还有49。
37为字体颜色,取值范围为30-39。
5为选择动作,取值范围为0 1 2 4 5 7 22 24 25 27
m意味着设置属性然后结束非常规字符序列
字体背景颜色 字体颜色 动作
40 设置黑色背景 30 设置黑色前景 0 重新设置属性到缺省设置
41 设置红色背景 31 设置红色前景 1 设置粗体
42 设置绿色背景 32 设置绿色前景 2 设置一半亮度(模拟彩色显示器的颜色)
43 设置棕色背景 33 设置棕色前景 4 设置下划线(模拟彩色显示器的颜色)
44 设置蓝色背景 34 设置蓝色前景 5 设置闪烁
45 设置紫色背景 35 设置紫色前景 7 设置反向图象
46 设置青色背景 36 设置青色前景 22 设置一般密度
47 设置白色背景 37 设置白色前景 24 关闭下划线
49 设置缺省黑色背景 38 在缺省的前景颜色上设置下划线 25 关闭闪烁
39 在缺省的前景颜色上关闭下划线 27 关闭反向图象
用在TCL中的话,有所改变:
puts ""\033\[44;37;5m 需要输出的字符串 \033\[0m"
需要在“[”在前面加个“\”,因为TCL中"["代表要用命令,需要用"\"加说明。
我在TCL中用的sucess的搭配为
puts "\033\[49;32;5m $table_name.$filed_name_temp value check is right\033\[0m"
error 的搭配为
puts "\033\[49;31;5m $table_name.$filed_name_temp value check is error:\033\[0m"
比如在一个脚本中:echo -e "\033[32m it is work! \033[0m"