echo -n 表示不换行输出

echo -e 输出转义字符,将转义后的内容输出到屏幕上

常用的转义字符如下:

\b

转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符; "\b"表示删除前一个字符, "\bb"表示删除前两个字符。

[root@localhost ~]# echo -e "12345\b67"
123467
[root@localhost ~]# echo -e "12345\b\b67"
12367

  

\c

不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时, "\c"后面的字符将不会被输出。

[root@localhost ~]# echo -e "12345\c67"
12345

  

\n

换行,被输出的字符从"\n"处开始另起一行。

[root@localhost ~]# echo -e "12345\n67"
12345
67

  

\f

换行,但是换行后的新行的开头位置连接着上一行的行尾;

[root@localhost ~]# echo -e "12345\f67"
12345
     67

  

\v

与\f相同;

[root@localhost ~]# echo -e "12345\v67"
12345
     67

  

\t

转义后表示插入tab,即横向制表符;

[root@localhost ~]# echo -e "12345\t67"
12345	67

  

\r

光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时, "\r"前面的字符不会被覆盖;

[root@localhost ~]# echo -e "12345\r67"
67345

  

\\ 

表示插入"\"本身

[root@localhost ~]# echo -e "12345\\67"
12345\67

  

 

 

[root@localhost ~]# i=`echo "11,22,33,44"`

  

[root@localhost ~]# echo ${i%,*}
11,22,33

//从最后倒数到最短的匹配部分(用)后面的逗号的地方被删除

 

[root@localhost ~]# echo ${i%%,*}
11

//从最后倒数到最长的匹配部分(用号)后面的逗号的地方都被删除

 

[root@localhost ~]# echo ${i#*,}
22,33,44

//从开头到最短的匹配部分(用#)后面的逗号的地方被删除

 

[root@localhost ~]# echo ${i##*,}
44

//从开头到最长的匹配部分(用#)后面的逗号的地方被删除