echo(存疑):偶尔失灵的转义

man echo 可以了解到,加上-e选项可以对下面列出的加反斜线转义的字符进行解释:

NNN 字符的ASCII代码为NNN(八进制)

\ 反斜线

a 报警符(BEL)

b 退格符

c 禁止尾随的换行符

f 换页符

n 换行符

r 回车符

t 水平制表符

v 纵向制表符

然而我发现两个现象:一是我必须用双引号括住才起效,网络上说这是因为shell将我的输入改变后才传递给echo导致的;二是“b”这个转义,只有在b后面有字符时才会起效,比如我执行

1
echo -e "abcd\b"

输出的是abcdb,但当我执行

1
echo -e "abcd\be"

输出的却是abce,暂未找到原因