SHELL -- echo的问题

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的缘故,没有在第一个位置,所有没有被覆盖。

 

你可能感兴趣的:(shell,问题,echo,\r)