echo 多行_Linux基础:常用命令之echo命令详解(一)

23ef874fa1eeb761205f8297c332b970.png

3564596527105abeb0e52310f10aed1e.png

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

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

f8c7b10457b5ed3cfb15a68a404a3c89.png

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

echo -n表示不换行输出:

98e4fb7af10c151c1d21a73963a7136d.png

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

1c542b8eb544fed7fce00808406ab4dc.png

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

e6765d74c48323262844634b7f4f6220.png

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

af51aca54cd718bcf9ef6adc4748fbed.png

我们可以使用-e选项输出转义字符,比如常用的转义字符“t”,转义字符“t”表示制表符,作用相当于我们键盘上的tab键。我们可以使用echo -e输出转义字符,将转义字符输出到屏幕上,示例如下:

fd1dd7f2a98bd8ddc915db12529f8fa6.png

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

常用的转义字符如下:

  • b转义相当于按退格键(backspace),但前提是“b”后面存在字符,具体效果参考下方示例。
  • c不换行输出,在“c”后面不存在字符的情况下,作用相当于echo -n,具体效果参考下方示例。
  • n换行,效果看示例。
  • f换行,但是换行后的新行的开头位置连接着上一行的行尾,具体效果查看示例。
  • v与f相同;
  • t转以后表示插入tab,即制表符,已经在上面举过例子;
  • r光标移至行首,但不换行,相当于使用“r”以后的字符覆盖“r”之前同等长度的字符,只看这段文字描述的话可能不容易理解,具体效果查看示例。
  • 表示插入“”本身;

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

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

9540c420340b75386d75b93de4ea4e02.png

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

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

6710117de35b8d79837c132e0163f940.png

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

106572a2965df9d38063029a8b3659be.png

"f"转义符表示换行,但是换行后的新行的开头位置连接着上一行的行尾,如下图所示,下图中的第三个例子中又两个"f".

388e3ba652558a1fe75c99eb23929eb0.png

“v”转义符与“f”转义符的作用相同。

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

71d99a9d5b869c08914918303cb67e79.png

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

“”经过转义以后,表示“”示例如下。

b13440448b8446d8d0b93a7776eb4152.png

通过echo命令,还能够输出彩色的文本,或者带有彩色背景的文本,因为篇幅 原因,我们另起一篇文章进行总结。后续发出来

Linux基础:常用命令之echo命令详解(一)​mp.weixin.qq.com
4935e6b31c6ac107a5b95b4a5beaed43.png

cb5e5f3e4574b2cbfbb14ca1841780ca.png
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值