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
。我很高兴这有帮助。