红联Linux门户
Linux帮助

shell输出彩色的字符串

发布时间:2014-08-11 15:30:11来源:linux网站作者:xiaosu

遇到一个要求,要求shell输出的字符串是彩色的,现在写下来备忘。


示例:

echo -e  type  "\e[31m c\e[0m to continue"

这样输出一个 type c to continue 的字符串,其中c是红色的。


如果想让c是黄底红字

echo -e  type  "\e[31;43m c\e[0m to continue"

如果想再加一个高亮的效果

echo -e  type  "\e[31;43;1m c\e[0m to continue"

也就是说通过夹在 "\e["(转义开方括号)和 "m" 之间数值来设置各种效果,不同的数值代表不同的效果,可以多种数字组合起来用,数字之间用分号隔开。


下面是各种数字的含义

颜色表
前景  背景  颜色
-------------------------
30   40  黑色
31   41  紅色
32   42  綠色
33   43  黃色
34   44  藍色
35   45  紫紅色
36   46  青藍色
37   47  白色


代码   意义
------------------
0    OFF
1    高亮显示
4    underline
5    闪烁
7    反白显示
8    不可见


但结尾部分需要加上\e[0m来表示颜色方案结束,否则后面的提示符都会变颜色。