Linux echo 显示内容颜色

格式

echo 显示内容颜色,需要使用-e参数

  • -e: 打开反斜杠转义 (默认不打开),可以转义\n,\t
  • -n: 在最后不自动换行

str="Joe.Ye"
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 "Joe" "red"

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/23/linux-echo-display-content-color/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Linux echo 显示内容颜色
格式 echo 显示内容颜色,需要使用-e参数 -e: 打开反斜杠转义 (默认不打开),可以转义\n,\t等 -n: 在最后不自动换行 str="Joe.Ye" echo -e "……
<<上一篇
下一篇>>
文章目录
关闭
目 录