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

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

 

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

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

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

 

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

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


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

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

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

posted @ 2013-09-08 22:32  摩斯电码  阅读(464)  评论(0编辑  收藏  举报