Linux如何更改echo的输出颜色

 更新时间:2025年10月17日 10:03:49   作者:独泪了无痕  
本文介绍了在Linux命令行中使用echo命令更改输出文字颜色的方法,包括定义颜色变量、设置显示方式、前景色和背景色,并通过示例展示字体高亮、下划线、闪烁等特效

在计算机编程世界中,颜色不仅仅是一种视觉效果,它也是一种信息传递的工具。特别是在Linux的命令行界面,颜色的使用可以极大地提升我们的工作效率。

今天,我们就来深入探讨一下在Linux中如何更改 echo 命令的输出颜色,让代码更加生动、易读。

一、快速入门

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

格式及选项如下所示:

\033[显示方式;前景色;背景色m

说明
显示方式0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

示例如下图所示:

echo -e "\033[1;31;42mHelloWorld\033[0m" 

字颜色:30—–37

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"

字背景颜色范围: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"

其他内容

# 关闭所有属性 
echo -e "\33[0m"
# 设置高亮度
echo -e "\33[1m"
# 下划线
echo -e "\33[4m" 
# 闪烁
echo -e "\33[5m"
# 反显
echo -e "\33[7m"
# 消隐
echo -e "\33[8m"

二、基本使用

2.1 对于常规的输出

# Reset
Color_Off='\033[0m'       # Text Reset

# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Magenta='\033[0;35m'      # Magenta
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White

echo -e "${Red}I like Linux${Color_Off} normal."

0; 是默认值,可以忽略。

测试字体颜色

echo -e "e[1;30m linux e[0m"   ## 30 黑色
echo -e "e[1;31m linux e[0m"   ## 31 红色
echo -e "e[1;32m linux e[0m"   ## 32 绿色
echo -e "e[1;33m linux e[0m"   ## 33 黄色
echo -e "e[1;34m linux e[0m"   ## 34 蓝色
echo -e "e[1;35m linux e[0m"   ## 35 紫色
echo -e "e[1;36m linux e[0m"   ## 36 天蓝色
echo -e "e[1;37m linux e[0m"   ## 37 白色

测试背景色并高亮显示

echo -e "e[1;41m Red Bcakground e[0m"   ## 41 红色
echo -e "e[1;40m Red Bcakground e[0m"   ## 40 黑色
echo -e "e[1;0m Red Bcakground e[0m"    ## 0 重置
echo -e "e[1;42m Red Bcakground e[0m"   ## 42 绿色
echo -e "e[1;43m Red Bcakground e[0m"   ## 43  黄色
echo -e "e[1;44m Red Bcakground e[0m"   ## 44  蓝色
echo -e "e[1;45m Red Bcakground e[0m"   ## 45 紫色
echo -e "e[1;46m Red Bcakground e[0m"   ## 46 天蓝色
echo -e "e[1;47m Red Bcakground e[0m"   ## 47 白色
echo -e "e[5;47m Red Bcakground e[0m"   ## 5 表示闪烁

2.2 对于字体加粗的输出

Color_Off='\033[0m'       # Text Reset
# Bold
BBlack='\033[1;30m'       # Black
BRed='\033[1;31m'         # Red
BGreen='\033[1;32m'       # Green
BYellow='\033[1;33m'      # Yellow
BBlue='\033[1;34m'        # Blue
BMagenta='\033[1;35m'     # Magenta
BCyan='\033[1;36m'        # Cyan
BWhite='\033[1;37m'       # White

echo -e "${BGreen}I like Linux${Color_Off} bold."

2.3 对于字体斜体的输出

Color_Off='\033[0m'       # Text Reset
# Italic
IBlack='\033[3;30m'       # Black
IRed='\033[3;31m'         # Red
IGreen='\033[3;32m'       # Green
IYellow='\033[3;33m'      # Yellow
IBlue='\033[3;34m'        # Blue
IMagenta='\033[3;35m'     # Magenta
ICyan='\033[3;36m'        # Cyan
IWhite='\033[3;37m'       # White

echo -e "${IYellow}I like Linux${Color_Off} italic."

2.4 对于带下划线的输出

Color_Off='\033[0m'       # Text Reset
# Underline
UBlack='\033[4;30m'       # Black
URed='\033[4;31m'         # Red
UGreen='\033[4;32m'       # Green
UYellow='\033[4;33m'      # Yellow
UBlue='\033[4;34m'        # Blue
UMagenta='\033[4;35m'     # Magenta
UCyan='\033[4;36m'        # Cyan
UWhite='\033[4;37m'       # White

echo -e "${UBlue}I like Linux${Color_Off} underline."

2.5 对于闪烁效果的输出

Color_Off='\033[0m'       # Text Reset
# Slow blink
SbBlack='\033[5;30m'       # Black
SbRed='\033[5;31m'         # Red
SbGreen='\033[5;32m'       # Green
SbYellow='\033[5;33m'      # Yellow
SbBlue='\033[5;34m'        # Blue
SbMagenta='\033[5;35m'     # Magenta
SbCyan='\033[5;36m'        # Cyan
SbWhite='\033[5;37m'       # White

echo -e "${SbMagenta}I like Linux${Color_Off} slow blink."

三、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS6.7系统中配置LNMP环境

    CentOS6.7系统中配置LNMP环境

    LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。LNMP 这种架构目前也是非常流行,今天我们就来看下如何在CentOS6.7系统中配置LNMP环境
    2016-10-10
  • Linux中ifconfig命令查不到IP的问题及解决

    Linux中ifconfig命令查不到IP的问题及解决

    这篇文章主要介绍了Linux中ifconfig命令查不到IP的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Linux 中不输入密码运行 sudo 命令的方法

    Linux 中不输入密码运行 sudo 命令的方法

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。这篇文章主要介绍了Linux 中不输入密码运行 sudo 命令的方法,需要的朋友可以参考下
    2019-07-07
  • Linux如何查询当前进程或线程的资源使用情况

    Linux如何查询当前进程或线程的资源使用情况

    文章介绍如何通过Linux的/proc文件系统和API(如getrusage、sysinfo、times)获取App资源使用情况,用于性能分析和调试,涵盖进程状态、内存、CPU、网络等信息,同时说明了相关文件和系统的使用方法及注意事项
    2025-07-07
  • apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    今天在学习PHP时,用的是apache服务器有这样的一个需求:一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定,以下是我的解决方案,需要的朋友可以参考下
    2015-01-01
  • Linux下PhpMyAdmin程序目录结构的安全管理

    Linux下PhpMyAdmin程序目录结构的安全管理

    Linux下开发Web程序,现在很流行的开发方法为:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库。
    2011-04-04
  • Linux watch命令的使用

    Linux watch命令的使用

    这篇文章主要介绍了Linux watch命令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    SSH是一种加密协议,用于管理和与服务器通信,在使用 Linux 服务器时,您经常会花费大量时间在通过 SSH 连接到服务器的终端会话中,这篇文章主要介绍了Linux 服务器上配置基于SSH 密钥的身份验证及使用方法,需要的朋友可以参考下
    2024-04-04
  • Linux如何使用 MyCat 实现 MySQL 主从读写分离

    Linux如何使用 MyCat 实现 MySQL 主从读写分离

    这篇文章主要介绍了Linux如何 MyCat 实现 MySQL 主从读写分离,感兴趣并且想详情了解的小伙伴接着看下文吧
    2021-08-08
  • CentOS7增加Swap空间的两种方法

    CentOS7增加Swap空间的两种方法

    当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swap文件和调整Swap分区大小,需要的朋友可以参考下
    2025-05-05

最新评论