我想在一行中打印一个进度。所以我使用回车符。问题是我的进步不是增加=> 这意味着第一个打印可能是Processing: Foo Bar Baz
下一个打印可能是Processing: Foo
。简单回车的问题是第二次打印将是重叠的通过第一张打印。我希望你明白我想说的话..
printf "\r Processing: $x"
# or
echo -en "\r Processing: $x"
所以我的问题是:如何删除当前行的内容并用回车覆盖它?
您可以使用clr_eol http://linux.die.net/man/5/terminfo终端能力。
printf '\r%s Processing: %s' "$(tput el)" "$x"
请注意我如何将变量移出printf
格式字符串?一般来说,不要将变量粘贴在格式字符串中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)