代码改变世界

Bash打印彩色输出

2013-03-14 00:32  出来卖菜的  阅读(649)  评论(0编辑  收藏  举报

  今天在学习看书时偶然看到关于bash 的打印输出,才发现原来bash 居然可以输出带颜色的文本,以前还一直以为bash 就只能输出黑白的颜色。

  要打印彩色输出其实很简单,主要使用 echo -e 选项,然后后面跟转义字符序列。如下所示:

  1 echo -e "\e[1;31m This is red text \e[0m"

  此段bash即表示输出一段红色的文本:

  说明:

  • -e :解释字符串中的转义字符,若不加此选项,转义字符会按照文本直接输出
  • \e[1;31m ... \e[0m:前景色编号,其中 "\e" 输出Esc符号,也可以用 "\033";"[1;31m"中,"1"表示粗体(高亮),"31"表示红色,中间用分号隔开,"m"后面为输出文本;"\e[0m"表示将颜色重新置回默认终端颜色

  前景色种类:0 透明(使用终端颜色) 30 黑, 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)

  背景色种类:0 透明(使用终端颜色) 40 黑, 41 红, 42 绿, 43 黄, 44 蓝 45 紫, 46 青绿, 47 白(灰)

  参考资料:http://wzgyantai.blogbus.com/logs/35899997.html