是否有可能在bash中回显退格?
就像是
echo $'stack\b'
Run Code Online (Sandbox Code Playgroud)
不应该输出stac?或者我错过了什么?
更具体地说,我想在以下方面使用它:
ls | wc -l; echo $'\b items'
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 39
\b使光标向左移动,但不会擦除字符.如果要删除它,请输出空格.
对于某些发行版,您可能还需要使用以下-e开关echo:
Run Code Online (Sandbox Code Playgroud)-e enable interpretation of backslash escapes
所以它看起来像
echo -e 'stack\b '
Run Code Online (Sandbox Code Playgroud)
还有files=(*) ; echo "${#files[@]} items".
小智 5
因此,要回答有关退格的实际问题,将模拟退格:
echo -e "\b \b"
Run Code Online (Sandbox Code Playgroud)
它将使字符向后移动,然后回显一个空格,覆盖那里的任何字符,然后再次向后移动-实际上删除了先前的字符。但是它不会返回一行,因此在此之前的输出不应创建新行:
echo -n "blahh"; echo -e "\b \b"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27799 次 |
| 最近记录: |