行僧

参与开源,努力提升。 我的GitHub地址:https://github.com/playingjoker

echo 命令显示带颜色的字

echo 命令显示带颜色的字

让echo输出带颜色的方法有两种

  1.  在shell脚本中定义颜色变量,使用echo -e调用变量
  2.  定义变量的时候,把echo -e定义到变量中,然后输出变量

具体格式及选项

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

举个栗子

echo -e "\033[36m有颜色的文字\033[0m"

详解

\033[背景色值;文字色值m内容\033[0m
除去 “背景色值,文字色值”和“内容”部分,其他区域为固定写法,没有为什么。。死记硬背吧

色值区间

  1. 背景色值区间有效值为40-47
  2. 文字色值区间有效值为30-27

实例

  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"

一个简单实际应用

背景

为了简化shell脚本内日志打印,封装一个简单方法,增加了时间和具体日志内容

function log() {
  date_str="date +'%Y-%m-%d %H:%M:%S'"
  echo -e "\033[32m[`eval ${date_str}`]\033[0m \033[36m$1\033[0m"
}

具体使用

log “输出内容”

具体表现如下:
imagepng

评论
validate
726 浏览