linux下printf打印带颜色的字符串

转载:http://blog.chinaunix.net/uid-28917424-id-3889917.html

前不久就在某位同学的博客里看到,但是今天找了好久没找到,就直接google了,现贴出来跟大家分享一下

格式如下(双引号里面没有加任何额外字符,"字符串"为要打印的内容):

printf("e[字背景颜色;字体颜色m字符串e[0m" );
示例:
printf("e[40;37mhello world! e[0m");

echo -e "e[40;37mHello World! e[0m"

40是字背景颜色, 37是字体的颜色, hello world是字符串.  后面的33[0m是控制码.
结果如下:


注意:如果"字背景颜色"处跟"字体颜色"处不输入内容,则打印系统默认颜色!

颜色代码:
QUOTE:
字背景颜色范围: 40--49                   字颜色: 30--39
                40: 黑                           30: 黑
                41: 红                           31: 红
                42: 绿                           32: 绿
                43: 黄                           33: 黄
                44: 蓝                           34: 蓝
                45: 紫                           35: 紫
                46: 深绿                         36: 深绿
                47: 白色                         37: 白色

ANSI控制码:
QUOTE:
  33[0m   关闭所有属性  
  33[1m   设置高亮度  
  3[4m   下划线  
  33[5m   闪烁  
  33[7m   反显  
  33[8m   消隐  
  33[30m   --   33[37m   设置前景色  
  33[40m   --   33[47m   设置背景色  
  33[nA   光标上移n行  
  3[nB   光标下移n行  
  33[nC   光标右移n行  
  33[nD   光标左移n行  
  33[y;xH设置光标位置  
  33[2J   清屏  
  33[K   清除从光标到行尾的内容  
  33[s   保存光标位置  
  33[u   恢复光标位置  
  33[?25l   隐藏光标  
  33[?25h   显示光标

原文地址:https://www.cnblogs.com/pengdonglin137/p/3308946.html