echo命令输出带上颜色的文字
访问量:3996

一、语法格式

 echo -e "\033[字背景颜色;文字颜色m 醒目字符串 \033[0m"

    或

 echo -e "\033[文字颜色;背景颜色m 醒目字符串 \033[0m"

    或

 echo -e "\033[字背景颜色m 醒目字符串 \033[0m"

    或

 echo -e "\033[文字颜色m 醒目字符串 \033[0m"

 其中,字体颜色取值范围:30--37

      30 黑色字 

  31 红色字 

  32 绿色字 

  33 黄色字 

  34 蓝色字 

  35 紫色字 

  36 天蓝字 

  37 白色字


   其中,背景颜色取值范围:40--47

        40 黑底 

        41 红底 

        42 绿底 

        43 黄底 

        44 蓝底 

        45 紫底 

        46 天蓝底 

        47 白底黑


根据上面的语法,那么,如果我想输出蓝底红字的话,输出语句就如下:

echo -e "\033[44m;31m dq_test\033[0m"

echo -e "\033[44;31m蓝底红字\033[0m"

如下图


二、备注

1、在上面设置颜色过程中,无论是设置文字颜色,还是背景色,或是文字与背景色,最后面都会添加一个m,因为定义颜色结束出,必须有一个m字符。当然,m字符也可以同颜色(文字+背景)分开写,如下

  echo -e "\033[字背景颜色;文字颜色;1m 醒目字符串 \033[0m"


2、上面“醒目字符串”字符前后,可以有空格,也可无。若有的话,输出也是同样有空格。


3、在上面用了“\033[”之类的东东,这都是什么呢?

    这是设置颜色的固定语法,且成对出现。


4、在第二个“\033[”后面的0m是什么意思呢?

    这个值是用来控制某些特殊显示效果的,比如光标的位置、闪烁、清屏等。常见的值由如下:

    0m 关闭所有属性 
  1m 设置高亮度 
  4m 下划线 
  5m 闪烁 
  7m 反显 
  8m 消隐 
  nA 光标上移n行 
  nB 光标下移n行 
  nC 光标右移n行 
  nD 光标左移n行 
  y;xH设置光标位置 
  2J 清屏 
  K 清除从光标到行尾的内容 
  s 保存光标位置 
  u 恢复光标位置 
  ?25l 隐藏光标 
  ?25h 显示光标