前不久就在某位同学的博客里看到,但是今天找了好久没找到,就直接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是控制码.

结果如下:

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


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


颜色代码:

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   显示光标