在Linux中为终端输出添加彩色颜色
给 Linux 系统的终端输出添加颜色
使用echo -e命令来显示彩色,输入命令时需要添加一些参数来指定显示什么颜色。
命令格式
shell 脚本中 echo 命令显示内容带颜色显示,格式如下:
1 | |
在以上命令中出现的参数意思如下:
\e 代表转义起始符,定义一个转义序列
\e[表示开始定义颜色。
字背景颜色使用 int 类型来表示,范围为 40-47 。
字体颜色使用 int 类型来表示,范围 30-37 。
m 代表转义终止符,表示颜色定义完毕。
在要输出的内容后面跟上\e[ ,表示再次开启颜色定义,0 表示颜色定义结束,所以 \e[0m 的作用是恢复之前的配色方案。
字体颜色
字体颜色使用 int 类型来表示,范围值为 30-37,下面是具体值所代表的的颜色:
- 默认=0
- 黑色=30
- 红色=31
- 绿色=32
- 黄色=33
- 蓝色=34
- 紫色=35
- 天蓝色(青色)=36
- 白色=37
1 | |
以下为输出:
字体背景颜色
字体背景颜色使用 int 来表示,范围值为 40-47,下面是具体值所代表的颜色:
- 默认=0
- 黑色=40
- 红色=41
- 绿色=42
- 黄色=43
- 蓝色=44
- 紫色=45
- 天蓝色(青色)=46
- 白色=47
下面是具体的一个例子:
1 | |
以下为输出:

字体属性
字体属性使用 int 类型来表示,范围值从 1 开始,但常用的我们就用 1-5,下面是具体值所代表的意思:
- 字体加粗=1
- 字体倾斜=3
- 字体下划线=4
1 | |
以下为输出:

另外,字体属性可以叠加:
1 | |
以下为输出:
示例
1 | |
上面命令则意味着,以 41(红色)的字体背景颜色、34(蓝色)的字体颜色、字体属性为 1、3、4、5 叠加,输出 [error] 内容;
后面那一段还有格式化输出,以字体属性为 3 和 3 叠加,其他保持默认的方式进行输出。效果如下:

基础脚本
这些带颜色的输出可以抽象成一个日志脚本,在该脚本中分为不同等级的日志输出,从低到高分别为:
- debug
- info
- warn
- error
然后不同等级的日志输出则有不同的背景颜色,能让人在输出中一眼定位到。将这些函数封装成一个基础脚本,然后在目标脚本内使用 source basic.sh 的方式去使用该脚本内的函数。
下面是脚本内容以及其注释:
1 | |
在Linux中为终端输出添加彩色颜色
https://sunshinechen.cn/2024/03/01/在Linux中为终端输出添加彩色颜色/