echo命令
①- n表示不换行输出
[root@tan ~]# echo 'https://golang.google.cn/' https://golang.google.cn/ [root@tan ~]# echo -n 'https://golang.google.cn/' https://golang.google.cn/[root@tan ~]#
②-e输出转义字符(Escape String),将转义后的内容输出到屏幕上
[root@tan ~]# 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”表示删除前两个字符
[root@tan ~]# echo -e "123\b" 123 [root@tan ~]# echo -e "123\b4567" 124567 [root@tan ~]# echo -e "123\b\b4567" 14567 [root@tan ~]# echo -e "123\b\b\b4567" 4567
也可以使用\c转义符,表示不换行输出,但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出,如果"\c"后面不存在任何字符,效果与使用"echo -n"相同。
[root@tan ~]# echo -e "123\c" 123[root@tan ~]# [root@tan ~]# echo -n "123" 123[root@tan ~]# echo -e "123\c456" 123[root@tan ~]# [root@tan ~]#
"\n"转义后表示换行,下列中,被输出的字符从“\n”处开始另一行
[root@tan ~]# echo -e "abcdefg\n1234" abcdefg 1234 [root@tan ~]#
"\f"转义符表示换行,但是换行后的新行的开头位置连接着上一行的行尾,如下图例所示,下图中的第三个例子中有两个"\f"
[root@tan ~]# echo -e "123\f456" 123 456 [root@tan ~]# echo -e "abcdefg\f1234" abcdefg 1234 [root@tan ~]# echo -e "abcdefg\f1234\f#######" abcdefg 1234 #######
"\r"转义符表示使用"\r"后面的字符覆盖"\r"之前同等长度的字符
[root@tan ~]# echo -e "abcdefg\r123" 123defg [root@tan ~]# echo -e "abc\r123" 123 [root@tan ~]# echo -e "a\r123" 123 [root@tan ~]# echo -e "a\r" a [root@tan ~]# echo -e "abcdefg\r12345" 12345fg
"\r"后面的123覆盖了abc,defg没有被覆盖,第二个示例中,因为abc一共有3个字符,123也是3个字符,所以123覆盖abc
后,只剩下了123,第三个实例中,123一共有3个字符,a只有一个字符,覆盖以后只剩下123,第四个示例中,“\r”后面
并不存在任何字符,所以"\r"前面的字符没有被覆盖。