分页: 1 / 1
如何清除当前行而不是整个屏幕.
发表于 : 2010-12-30 23:31
由 zl2970798
for (( i = 60; i != 0; i--))
do
echo $i
sleep 1
done
像上面这个段代码,如果加一个清除的话会清除整个屏幕,怎么清除当前行然后重新打印该行呢?.或者有什么办法能有相同效果
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2010-12-30 23:49
由 astolia
代码: 全选
for (( i = 60; i != 0; i--))
do
echo -en "\r$i "
sleep 1
done
运行时请直接复制
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2010-12-31 22:40
由 icyomik
astolia 写了:代码: 全选
for (( i = 60; i != 0; i--))
do
echo -en "\r$i "
sleep 1
done
运行时请直接复制
谢谢,学习了。
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2011-01-02 20:52
由 tusooa
别\r
echo -en "\e[1G$i\t"
\t占位的。防止前面的没被清除。
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2011-01-02 21:22
由 astolia
tusooa 写了:别\r
echo -en "\e[1G$i\t"
\t占位的。防止前面的没被清除。
why?在我看来,\e才是能不用就不用的
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2011-01-03 19:53
由 glocklee
个人觉得,\r之后再打一排空格比较靠谱。。。
Re: 如何清除当前行而不是整个屏幕.
发表于 : 2011-01-03 21:31
由 lilydjwg