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

- 6

- A+

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

echo命令是linux中最基础的命令，也是很常用的命令，特别是在写shell脚本的时候，可能会经常被用到，虽然echo命令非常基础，但是功能还算丰富，此处对echo命令的常用方法进行总结，并给出示例，方便记忆与回顾。

echo命令的基本用法，很简单，就是echo命令后面跟上要输出的文本，如下。

除了基本用法，还可以配合一些选项使用

echo -n 表示不换行输出

可以看到，如果不添加-n选项，文本输出以后，指定换行了，而添加了-n选项以后，文本直接连着命令提示符输出了，并没有换行，这样演示效果不明显，我们可以同时echo两条信息，效果比较明显，示例如下。

当使用echo输出命令替换后的内容时，命令执行结果的格式可能会发生变化，比如，如果我们想要输出ifconfig命令执行后的结果，我们可能会使用如下命令

但是我们发现，这样输出的文本的格式发生了变化，这样可能不是我们想要的，因为当我们直接执行ifconfig命令时，ifconfig返回的结果是多行的，可是当我们使用echo输出的时候，格式发生了变化，如果想要按照命令执行后的原格式输出命令替换后的结果，可以使用如下方法，如下方法在写脚本的时候可能会用到。

我们可以使用-e选项输出转义字符，比如常用的转义字符"\t", 转义字符"\t"表示制表符，作用相当于我们键盘上的tab键。

我们可以使用echo -e输出转义字符，将转义后的内容输出到屏幕上，示例如下

上图示例中，已经将"\t"转义过的制表符输出到了屏幕上，所以，我们只要能够记住这些转义字符，就可以在echo命令中输出它们，那么，我们将常用的转义字符总结一下，然后给出示例。

常用的转义字符如下：

\b 转义后相当于按退格键（backspace） ,但前提是"\b"后面存在字符，具体效果参考下方示例。

\c 不换行输出，在"\c"后面不存在字符的情况下，作用相当于echo -n，具体效果参考下方示例。

\n 换行，效果看示例。

\f 换行，但是换行后的新行的开头位置连接着上一行的行尾，具体效果查看示例；

\v 与\f相同；

\t 转以后表示插入tab，即制表符，已经在上面举过例子；

\r 光标移至行首，但不换行，相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符，只看这段文字描述的话可能不容易理解，具体效果查看示例；

\\ 表示插入"\"本身；

使用echo命令输出上述转义字符的示例如下：

使用echo命令输出"\b"转义字符，在"\b"后面存在字符的前提下，"\b"表示删除前一个字符，"\b\b"表示删除前两个字符。

可以看到，上例中，在"\b"后面不存在任何字符时，"\b"并没有转义为"退格键"，当"\b"后面存在字符时，一个"\b"就相当于按一次backspace键。

我们也可以使用\c转义符，表示不换行输出，但是当"\c"后面仍然存在字符时，"\c"后面的字符将不会被输出，如果"\c"后面不存在任何字符时，效果与使用"echo -n"相同,示例如下。

"\n"转义后表示换行，下例中，被输出的字符从"\n"处开始另起一行。

"\f"转移符表示
换行，但是换行后的新行的开头位置连接着上一行的行尾，如下图示例所示，下图中的第三个例子中有两个"\f"。

"\v"转义符与"\f"转义符的作用相同。

"\r"转义符表示使用"\r"后面的字符覆盖"\r"之前的同等长度的字符，比较不容易理解，但是看下图示例，就很容易明白了。

上图中的第一个示例中，"\r"后面的123覆盖了abc，defg没有被覆盖，第二个示例中，因为abc一共有3个字符，123也是有3个字符，所以123覆盖了abc以后，只剩下了123，第三个实例中，123一共有3个字符，a只有一个字符，覆盖以后只剩下123，第四个示例中，"\r"后面并不存在任何字符，所以"\r"前面的字符没有被覆盖。

"\\"经过转义以后，表示"\",示例如下。

通过echo命令，还能够输出彩色的文本，或者带有彩色背景的文本，因为篇幅原因， 我们另起一遍文章进行总结。文章链接地址如下：

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

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

- 常用命令

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

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

### 发表评论取消回复

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

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

昵称*

邮箱*

网址

有回复时邮件通知我

## 目前评论：6 其中：访客 5 博主 1

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

   打卡

4. Arya 0
   回复 2019年11月29日 上午11:14 板凳

   Linux的学习看您的就够了，有没有其他语言的详解？R，Python ，Perl 之类的，网上杂七杂八的也看了好的，都没有您讲的透彻，详细。理解不费劲儿，通俗易懂。或者是您推荐一下类似于您这样易理解透彻的其他语言的吗？因为开始自学生物信息学，跟着网上杂七杂八的学，他们讲的不透彻，学的云里雾里的，很费劲儿，学习效率太低了，也很崩溃！求大神指点一二！！！膜拜！期待您的回复。学编程语音我也是认真的，学明白才好。

6. 小猪 0
   回复 2019年8月1日 上午9:14 地板

   不错啊 你的网站是用什么代码写的

8. 阿龙 0
   回复 2018年9月28日 下午2:33 4楼

   佩服兄弟

10. 夕阳 0
    回复 2017年5月27日 下午11:34 5楼

    不错

    - 朱双印 Admin
      回复 2017年5月28日 上午8:52 1层

      @夕阳 谢谢客官捧场呦~~

- 文章目录

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