Bash 卡里奇返回不';不要删除以前的值

Bash 卡里奇返回不';不要删除以前的值,bash,return,Bash,Return,我试图在一条终端线上显示一些数据。此数据包含文件的编号和路径。我使用以下代码来实现这一点: #!/bin/bash echo find . -type f | while read a; do sleep 1s; echo -ne "$a\r"; done 问题是,实际线路无法清除前一条线路。目录包含以下文件aaa.aaa,bbbb.bbbbb和cccc.cccc,输出顺序如下: ./cccc.cccccccccccccccc ./aaa.aaacccccccccccccc ./bbbb.b

我试图在一条终端线上显示一些数据。此数据包含文件的编号和路径。我使用以下代码来实现这一点:

#!/bin/bash 
echo
find . -type f | while read a;
do
sleep 1s;
echo -ne "$a\r";
done
问题是,实际线路无法清除前一条线路。目录包含以下文件
aaa.aaa
bbbb.bbbbb
cccc.cccc
,输出顺序如下:

./cccc.cccccccccccccccc
./aaa.aaacccccccccccccc
./bbbb.bbbbbccccccccccc
我希望它是:

./cccc.cccccccccccccccc
./aaa.aaa
./bbbb.bbbbb

我应该如何清除该行?

\r
之后添加一个
\033[K

echo -ne "$a\r\033[K";

这是从光标位置到行尾擦除当前行上所有内容的控制顺序。

请看:@nervosol对,我的错,这很有意义,因为您同时输出新的
$a
。我很高兴这有帮助。