# echo命令详解 （二） 真的很详细

- 2

- A+

所属分类：Linux基础 常用命令

在上一篇总结echo命令的文章中，我们描述了echo命令的常用选项，可以点击如下链接查看。

http://www.zsythink.net/archives/96

这篇文章中，我们继续聊聊echo命令

使用echo命令的-e选项，除了能够输出转义字符，还能够在命令行中输出彩色的字符，或者带有彩色背景的字符。

我们对比着示例，再给大家详细的解释，示例效果如下。

可以看到，上例中输出了红色的大写的"TEST"，这就是我们所说的，使用echo -e 输出彩色字符的效果。

echo -e我们就不解释了，不管是输出转义字符还是输出彩色字符，都需要使用-e选项。

我们来解释一下下图中红线标注的字符串是什么意思。

为了方便解释，我们尽量的缩小范围，如下图，我们排除"TEST"字符串，因为这就是我们要输出的内容，没有什么好解释的，排除输出内容后，结构如下

从上图可以看出，如果要想输出红色字符，至少需要两部分，\033[31m 和 \033[0m ，这些代码有一个专业名词，叫做"ANSI控制码",但是为了方便理解，我们先用通俗的语言解释它们，用不专业的思维去理解它们。

我们可以把\033[31m 理解成"开始输出红色字符"，把 \033[0m理解成"结束输出红色字符"。

当echo -e遇到\033[31m的时候，就认为自己要输出红色字符了，\033[31m就是一个信号，它告诉echo -e，需要开始输出红色字符了， \033[0m也是一种信号，它告诉echo 命令，红色字符已经不能输出了，再输出的字符应该是黑白字符了，不能是彩色的了。

那么，如果我们想要输出绿色字符，该怎么写呢，示例如下

细心的你一定已经发现，输出红色TEST字符与输出绿色TEST字符的唯一区别就是下图标注的位置。

也就是说，我们只要改变对应位置的数字，就能改变输出字符的颜色，所以，我们将能够输出的颜色对应的数字总结如下：

30:黑色

31:红色

32:绿色

33:黄色

34:蓝色

35:紫色

36:浅蓝色

37:灰色

所以，对应上述颜色号码，输出效果如下：

除了能够使用echo命令输出彩色字符，我们还能够为彩色字符添加彩色背景，比如，我们想要输出具有黄色背景的红色字符，可以使用如下方法

那么我们对比一下，输出红色字符的echo命令，与输出黄色背景的红色字符的echo命令，具体有什么不同。

可以看到，唯一不同的地方就是带有黄色背景的命令中，多出了"43;" ，其他部分的命令都一样。

聪明如你一定想到了，"43;"代表黄色背景，那么别的背景颜色一定会有其对应的数字编号，没有错，此处列出背景色编号：

40:黑色

41:红色

42:绿色

43:黄色

44:蓝色

45:紫色

46:浅蓝色

47:灰色

我们可以同时设定字符的颜色与背景的颜色，怎样搭配随你喜欢。

比如，红配绿，赛狗pi

比如，红配蓝，sao不完

比如···各种搭配，全凭老板您喜欢。

我们在之前已经说过， "\033[31m" "\033[m"这些代码都属于 ansi 控制码。

ansi控制码中不仅有控制颜色的控制码，还有一些提供其他功能的控制码，我们来总结一下。

常用ANSI控制码总结如下：

\033[0m 关闭所有属性 ，也就是说此控制码前面的控制码将会失效，此控制码中的0可以省略。

\033[1m 设置高亮度

\033[4m 下划线

\033[5m 闪烁

\033[7m 反显 ，撞色显示，显示为白底黑字，或者显示为黑底白字

\033[8m 消隐 ，字符颜色将会与背景颜色相同

\033[30m -- \33[37m 设置字符颜色

\033[40m -- \33[47m 设置背景色

\033[K 清除从光标到行尾的内容

上述ANSI控制码中，有的不能在bash命令行中运行，我们可以掩饰几个可用的，常用的ANSI控制码，示例如下图：

上图中，我们利用echo命令，使用-e选项，结合着ANSI控制码，输出了带有下划线的字符以及撞色显示的字符。

除了echo命令，我们也可以在别的地方使用ansi控制符，比如改变命令提示符的颜色

但是这不属于echo命令的使用，我们就不详细总结了。

我的微信公众号
关注"实用运维笔记"微信公众号，当博客中有新文章时，可第一时间得知哦~
赞 74
赏
分享

- 常用命令

- 版权声明：本站原创文章，于2016年12月3日20:19:24，由 朱双印 发表，共 1664 字。
- 如需转载，请在文章头部注明出处：echo命令详解 （二） 真的很详细 | 朱双印博客

grep命令详解
printf命令详解
awk从放弃到入门（1）：awk基础 （通俗易懂，快进来看）
iptables详解（1）：iptables概念

### 发表评论取消回复

欢迎 pangzi 再次光临！
修改信息

正在提交, 请稍候...
#

昵称*

邮箱*

网址

有回复时邮件通知我

## 目前评论：2 其中：访客 2 博主 0

2. 临江仙 4
   回复 2020年2月4日 上午10:06 沙发

   hin 好

4. 剑豪 0
   回复 2019年9月2日 下午3:35 板凳

   很棒哈，讲解到位，排版清晰整洁, 赞赞赞！

- 文章目录

×
×
拖拽到此处
图片将完成下载