#!/bin/bash
echo "hello^H^H" #hello
echo "hello^H^H " #hel o
我知道^ H在控制台中删除一个字母。但为什么第一个回声没有效果,第二个回声是“hel o”。^H在bash变量
#!/bin/bash
echo "hello^H^H" #hello
echo "hello^H^H " #hel o
我知道^ H在控制台中删除一个字母。但为什么第一个回声没有效果,第二个回声是“hel o”。^H在bash变量
退格只是将光标向右移动一个位置而不实际擦除屏幕上打印的内容。只有你的第二条指令通过用字符串中的尾部空格覆盖它而实际上消除了字符。
我会尝试对其进行可视化:
$ echo "hello^H^H"
hello
^
`-- cursor position
$ echo "hello^H^H "
hel o
^
`-- cursor position
$回声 “你好^ H^H” 你好 ^ -- cursor position $ echo "hello^H^H " hel o ^
- 光标位置
我试图在我的Mac OS X( 10.8.4)并产生正确的输出 –