echo 用法
一. echo 用法
echo 输出默认自带换行符
-n:不要在最后自动换行;
-e:若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出(允许解释加反斜线的转义字符):
echo -n 表示不换行输出,不要在最后自动换行;
#!/bin/bash
echo -n 1
echo 2
echo 3
则输出
[root@localhost ~]# sh 1.sh
12 不换行
3
echo -e 输出转义字符,将转义后的内容输出到屏幕上,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出(允许解释加反斜线的转义字符):
\b:转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。
[root@localhost ~]# echo -e "1234567\b89"
12345689
[root@localhost ~]# echo -e "1234567\b\b89"
1234589
\c:不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。
[root@localhost ~]# echo -e "1234567\c89"
1234567[root@localhost ~]# echo -e "123456789\c"
123456789[root@localhost ~]# echo -e "\c123456789"
\n: 换行,被输出的字符从“\n”处开始另起一行
[root@localhost ~]# echo -e "123456\n789"
123456
789
\f:换行,但是换行后的新行的开头位置连接着上一行的行尾
[root@localhost ~]# echo -e "123456\f789"
123456
789
\t: 转以后表示插入tab,即横向制表符
[root@localhost ~]# echo -e "123456\t789"
123456 789
[root@localhost ~]# echo -e "123\t456\t789"
123 456 789
\r: 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\)r之前同等长度的字符:但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖
[root@localhost ~]# echo -e "123456\r789"
789456
[root@localhost ~]# echo -e "12345678\r9"
92345678
[root@localhost ~]# i="11,22,33,44"
[root@localhost ~]# echo $i
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