Echo -e :启用反斜线控制字符的转换
关于 echo 命令所支持的反斜线控制字符如下表:
/a:ALERT / BELL (从系统喇叭送出铃声)
/b:BACKSPACE ,也就是向左删除键
/c:取消行末之换行符号
/E:ESCAPE,跳脱键
/f:FORMFEED,换页字符
/n:NEWLINE,换行字符
/r:RETURN,回车键
/t:TAB,表格跳位键
/v:VERTICAL TAB,垂直表格跳位键
/n:ASCII 八进位编码(以 x 开首为十六进制)
//:反斜线本身
这里详细的讲下/r的用法。
先看一下几个例子
#echo -e "1\r0"
0
#echo -e "\t1\r0"
0 1
man中关于/r解释是回车,但是这个回车不是回车换行,所以有些同学会搞混。
真正的含义是回到这一行的顶头位置。这个最早要追溯到老式打印机的工作原理。
这样就好解释上面三个问题了。
1. “1”写在行的第一个位置,“0”因为\r的缘故,覆盖了这行的第一个字符,所以“1”被覆盖了。
2. “0”因为\r的缘故被放置在行的顶头位置,而“1”有\t的缘故,没有在第一个位置,所有没有被覆盖。