-n
不换行输出
举列
使用-n指令后,不会被切换到下一行
-e
输出转义字符,将转义好的内容输送到屏幕上
常用的转义符
\b
- 退格键
- \b表示删除前一个字符
- \b\b表示删除前两个字符
- 要求:指令后面需要有字符存在
\c
-
不换行输出
-
\c后面没有字符:作用和echo -n一样
-
\c后面有字符:后面的字符不会被输出
\n
- 换行
- 以\n为分界,后面的另起一行
- 有空格功能,可以利用 “ | ” 符号完成一套指定的多选项操作
\f
- 换行
- 和\n一样,但是新的一行会连接上一行的行尾
\v
- 换行
- 和\f一样
\t
- tab功能
- 插入一个tab
\r
- 光标移动至行首
- \r后面的字符覆盖前面的,覆盖长度需一致
- \r后面无字符时,不会覆盖前面
\
- 负负得正
- 抵消功能,相当于 " \ " 本身
%
删除匹配到从最后倒数的最短的部分
- [root@ccc ~]# a=11,22,33,44
- 设置变量
- [root@ccc ~]# echo ${a%,*}
- *代表所有,%为匹配 , * 的内容
- 这里单个%匹配倒数最短的部分,也就是最后一个字符
- 11,22,33
- ,44被删除
%%
删除匹配到从最后倒数的最长的部分
- [root@ccc ~]# a=11,22,33,44
- 设置变量
- [root@ccc ~]# echo ${a%%,*}
- 这里两个%匹配倒数最长的部分,也就是只留下来第一个字符
- 11
“#”
删除从开头到最短的匹配部分
- [root@ccc ~]# a=11,22,33,44
- 设置变量
- [root@ccc ~]# echo ${a#*,}
- 与%相反,单个#为删除最前面的匹配到的字符
- 22,33,44
“##”
删除从开头到最长的匹配部分
- [root@ccc ~]# a=11,22,33,44
- 设置变量
- [root@ccc ~]# echo ${a##*,}
- 两个#号代表删除最长的,从前往后
- 44