①- 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 lang.google.cn/' https://go lang.google.cn/
常用的转义字符如下:
转义后相当于退格键(backspace),但前提是""后面存在字符 | |
c | 不换行输出,在"c"后面不存在字符的情况下,作用·相当于echo -n |
换行 | |
f | 换行,但是换行后的新行的开头位置连接着上一行的行尾 |
v | 与f相同 |
转义后表示插入tab,即制表符 | |
光标移至行首,但不换行,相当于使用" "以后的字符覆盖" "之前同等长度的字符 | |
\ | 插入""本身 |
使用echo命令输出""转义字符,在""后面存在自符的前提下,""表示删除签一个字符,“”表示删除前两个字符
[root@tan ~]# echo -e "123" 123 [root@tan ~]# echo -e "1234567" 124567 [root@tan ~]# echo -e "1234567" 14567 [root@tan ~]# echo -e "1234567" 4567
也可以使用c转义符,表示不换行输出,但是当"c"后面仍然存在字符时,"c"后面的字符将不会被输出,如果"c"后面不存在任何字符,效果与使用"echo -n"相同。
[root@tan ~]# echo -e "123c" 123[root@tan ~]# [root@tan ~]# echo -n "123" 123[root@tan ~]# echo -e "123c456" 123[root@tan ~]# [root@tan ~]#
" "转义后表示换行,下列中,被输出的字符从“ ”处开始另一行
[root@tan ~]# echo -e "abcdefg 1234" abcdefg 1234 [root@tan ~]#
"f"转义符表示换行,但是换行后的新行的开头位置连接着上一行的行尾,如下图例所示,下图中的第三个例子中有两个"f"
[root@tan ~]# echo -e "123f456" 123 456 [root@tan ~]# echo -e "abcdefgf1234" abcdefg 1234 [root@tan ~]# echo -e "abcdefgf1234f#######" abcdefg 1234 #######
" "转义符表示使用" "后面的字符覆盖" "之前同等长度的字符
[root@tan ~]# echo -e "abcdefg 123" 123defg [root@tan ~]# echo -e "abc 123" 123 [root@tan ~]# echo -e "a 123" 123 [root@tan ~]# echo -e "a " a [root@tan ~]# echo -e "abcdefg 12345" 12345fg
" "后面的123覆盖了abc,defg没有被覆盖,第二个示例中,因为abc一共有3个字符,123也是3个字符,所以123覆盖abc
后,只剩下了123,第三个实例中,123一共有3个字符,a只有一个字符,覆盖以后只剩下123,第四个示例中,“ ”后面
并不存在任何字符,所以" "前面的字符没有被覆盖。