echo命令

Posted tan-y-q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echo命令相关的知识,希望对你有一定的参考价值。

①- n表示不换行输出

[[email protected] ~]# echo https://golang.google.cn/
https://golang.google.cn/
[[email protected] ~]# echo -n https://golang.google.cn/
https://golang.google.cn/[[email protected] ~]# 

②-e输出转义字符(Escape String),将转义后的内容输出到屏幕上

[[email protected] ~]# echo -e https://go\tlang.google.cn/
https://go    lang.google.cn/

 常用的转义字符如下:

  \b   转义后相当于退格键(backspace),但前提是"\b"后面存在字符
  \c 不换行输出,在"\c"后面不存在字符的情况下,作用·相当于echo -n
  \n 换行
  \f 换行,但是换行后的新行的开头位置连接着上一行的行尾
  \v 与\f相同
  \t 转义后表示插入tab,即制表符
  \r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符
  \\ 插入"\"本身

 

 

 

 

 

 

 

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

[[email protected] ~]# echo -e "123\b"
123
[[email protected] ~]# echo -e "123\b4567"
124567
[[email protected] ~]# echo -e "123\b\b4567"
14567
[[email protected] ~]# echo -e "123\b\b\b4567"
4567

 

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

[[email protected] ~]# echo -e "123\c"
123[[email protected] ~]# 
[[email protected] ~]# echo -n "123"
123[[email protected] ~]# echo -e "123\c456"
123[[email protected] ~]# 
[[email protected] ~]# 

 "\n"转义后表示换行,下列中,被输出的字符从“\n”处开始另一行

[[email protected] ~]# echo -e "abcdefg\n1234"
abcdefg
1234
[[email protected] ~]# 

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

[[email protected] ~]# echo -e "123\f456"
123
   456
[[email protected] ~]# echo -e "abcdefg\f1234"
abcdefg
       1234
[[email protected] ~]# echo -e "abcdefg\f1234\f#######"
abcdefg
       1234
           #######

 "\r"转义符表示使用"\r"后面的字符覆盖"\r"之前同等长度的字符

[[email protected] ~]# echo -e "abcdefg\r123"
123defg
[[email protected] ~]# echo -e "abc\r123"
123
[[email protected] ~]# echo -e "a\r123"
123
[[email protected] ~]# echo -e "a\r"
a
[[email protected] ~]# echo -e "abcdefg\r12345"
12345fg

"\r"后面的123覆盖了abc,defg没有被覆盖,第二个示例中,因为abc一共有3个字符,123也是3个字符,所以123覆盖abc

后,只剩下了123,第三个实例中,123一共有3个字符,a只有一个字符,覆盖以后只剩下123,第四个示例中,“\r”后面

并不存在任何字符,所以"\r"前面的字符没有被覆盖。

以上是关于echo命令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

YASnippet - emacs 的代码片段管理工具

arx代码片段