在 Bash 中更改 Echo 的输出颜色
Nilesh Katuwal
2024年2月15日
Bash
Bash Echo
在本文中,我们将介绍在 Linux 中改变 echo 颜色的不同方法。
我们将开始在 Linux 中更改 echo 的输出颜色。我们还将看到一个如何在 Linux 中更改背景输出颜色的示例。
更改 Bash 中的前景色
我们现在来看一个 Linux 中前景颜色变化的例子。
$ echo "$(tput setaf 1)Shirt red $(tput setaf 4) Pant blue"
输出:

setaf 用于前景色。数字 1 是红色,而数字 4 是蓝色。
颜色编号如下:
| 编号 | 颜色 |
|---|---|
| 1 | 黑色 |
| 2 | 红色 |
| 3 | 橙色 |
| 4 | 黄 |
| 5 | 蓝 |
| 6 | 青色 |
| 7 | 白色 |
更改 Bash 中的背景颜色
我们还可以更改 echo 的背景颜色。
$ echo "$(tput setaf 3) $(tput setab 1)sunflower is yellow"
输出

背景颜色使用 setab。输出显示背景颜色已更改为红色,而文本颜色仍为黄色。
在 Bash 中使用转义序列
终端上的彩色文本可以通过脚本使用转义序列生成。每种颜色都有不同的颜色代码。
让我们看一个例子。
$ echo -e "\e[1;31m Red is red in color bcoz its red"
在上面的例子中,-e 允许 echo 命令考虑字符串中的转义序列,\e 表示转义序列的开始。
我们还使用 [1 使文本变为粗体,31 是红色的颜色代码,m 表示转义序列的结束。
输出

如输出所示,我们使用转义序列以红色打印文本。
30 到 39 范围内的颜色用于前景。如果我们想修改背景颜色,我们应该使用 40 及以上代码中的颜色。
以下是颜色编号:
| 颜色 | 前景 | 背景 |
|---|---|---|
| 黑色 | 30 | 40 |
| 红色 | 31 | 41 |
| 绿色 | 32 | 42 |
| 黄色 | 33 | 43 |
| 蓝色 | 34 | 44 |
| 品红 | 35 | 45 |
| 青色 | 36 | 46 |
| 白色 | 37 | 47 |
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe