在 Bash 中更改 Echo 的输出颜色
Nilesh Katuwal
2023年1月30日
2022年5月11日
在本文中,我们将介绍在 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 |