Linux echo 显示内容颜色
- 格式
echo 显示内容颜色,需要使用 -e 参数
-e :打开反斜杠转义 (默认不打开) ,可以转义 “\n, \t” 等
-n:在最后不自动换行
str="kimbo zhang"
echo -e "\033[字背景颜色;文字颜色m ${str} \033[0m"
注:文字颜色后面有个m
- 举例1,字体颜色
#字体颜色:30m-37m 黑、红、绿、黄、蓝、紫、青、白
str="kimbo zhang" echo -e "\033[30m ${str}\033[0m" ## 黑色字体 echo -e "\033[31m ${str}\033[0m" ## 红色 echo -e "\033[32m ${str}\033[0m" ## 绿色 echo -e "\033[33m ${str}\033[0m" ## 黄色 echo -e "\033[34m ${str}\033[0m" ## 蓝色 echo -e "\033[35m ${str}\033[0m" ## 紫色 echo -e "\033[36m ${str}\033[0m" ## 青色 echo -e "\033[37m ${str}\033[0m" ## 白色
- 举例2,背景色+字体颜色
#背景颜色:40-47 黑、红、绿、黄、蓝、紫、青、白 str="kimbo zhang" echo -e "\033[41;37m ${str} \033[0m" ## 红色背景色,白色字体 echo -e "\033[41;33m ${str} \033[0m" ## 红底黄字 echo -e "\033[1;41;33m ${str} \033[0m" ## 红底黄字 高亮加粗显示 echo -e "\033[5;41;33m ${str} \033[0m" ## 红底黄字 字体闪烁显示 echo -e "\033[47;30m ${str} \033[0m" ## 白底黑字 echo -e "\033[40;37m ${str} \033[0m" ## 黑底白字
- 其他参数说明
\033[1;m 设置高亮加粗
\033[4;m 下划线
\033[5;m 闪烁
#定义函数,用于日志写入等
#!/bin/bash ## 写日志 ## 参数1:字符串 ## 参数2:颜色 (红色:失败报错,绿色:成功,黄色:警告) function func_write_log() { var_str=$1 var_color=$2 var_curr_timestamp=`date "+%Y-%m-%d %H:%M:%S"` ## 判断参数1 是否是空字符串 if [ "x${var_str}" == "x" ];then var_str="" else var_str="${var_curr_timestamp} ${var_str}" fi ## 判断颜色 if [ "${var_color}" == "green" ];then var_str="\n\033[32m${var_str}\033[0m" elif [ "${var_color}" == "yellow" ];then var_str="\033[33m${var_str}\033[0m" elif [ "${var_color}" == "red" ];then var_str="\033[1;41;33m${var_str}\033[0m" else var_str="\033[37m${var_str}\033[0m" fi ## 打印输出 echo -e "${var_str}" #echo -e "${var_str}" >> ${var_path}/test_${var_curr_timestamp}.log 2>&1 #写入日志文件 } ## 函数调用 func_write_log "kimbo" "red"
结果:
-------> by kimbo_zhang