#!/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)併產生正確的輸出 –