Shell echo 输出带颜色内容

 

基本语法shell

echo "\033[41;36m something \033[0m"

能够看到 "\033[ "  是成对出现的,这是固定语法,知道就行 , 而后第一个"\033[ "后面是 41;36m , 第二个"\033[ " 后面是0m" ,具体含义下面介绍:bash

 

第一个"\033[字体

中括号后面能够有一个值,也能够有两个值,以分号隔开,表明着要显示的文字的背景和颜色,默认都是窗口本来的颜色。code

其中41的位置表明背景底色 ,36m的位置是表明文字的颜色 , 背景底色不加m , 文字颜色要加m orm

颜色对应的值分别以下:ci

背景的颜色范围是 40 --  47

  echo -e “\033[40;37m 黑底白字 \033[0m”
  echo -e “\033[41;37m 红底白字 \033[0m” 
  echo -e “\033[42;37m 绿底白字 \033[0m” 
  echo -e “\033[43;37m 黄底白字 \033[0m” 
  echo -e “\033[44;37m 蓝底白字 \033[0m” 
  echo -e “\033[45;37m 紫底白字 \033[0m” 
  echo -e “\033[46;37m 天蓝底白字 \033[0m” 
  echo -e “\033[47;30m 白底黑字 \033[0m”


字体的颜色范围是 30m -- 37m

  echo -e “\033[30m 黑色字 \033[0m” 
  echo -e “\033[31m 红色字 \033[0m” 
  echo -e “\033[32m 绿色字 \033[0m” 
  echo -e “\033[33m 黄色字 \033[0m” 
  echo -e “\033[34m 蓝色字 \033[0m” 
  echo -e “\033[35m 紫色字 \033[0m” 
  echo -e “\033[36m 天蓝字 \033[0m” 
  echo -e “\033[37m 白色字 \033[0m”

---------------------------------------------------------------------------------------------------it

第二个"\033[table

后面只有一个0m, 这个是控制某些特殊显示效果的,好比显示时光标的控制、闪烁等,基本上用不到。下面列出来,以供参考:class

 

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

echo –e 参数可根据本身的系统选择,不加 –e 也能够。若是不加显示不出来,就加上,这个主要涉及到转义的问题。语法

我本身用到的部分shell以下:

#!/bin/bash

text=`cat /etc/passwd`

echo “\033[41;37m $text \033[0m”
相关文章
相关标签/搜索