遇到一个BT的要求,要求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来表示颜色方案结束,否则后面的提示符都会变颜色