Answers:
您可以使用tput
将光标移动到屏幕中的给定行,例如,
tput cup 11 0
将其移至第十二行(值从零开始计数)。
同样,您可以使用tput
该ed
功能从该位置清除到屏幕末端。结合起来
tput cup 11 0 && tput ed
可能是想要的。
如果要转到屏幕上的中途标记,则返回的第一个数字
stty size
是(在大多数系统上)屏幕的行数。将其添加到命令中:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
该clear
程序不同于tput ed
:
警告:tput ed
由于很久以前解决的问题,在某些平台上可能无法正常工作。在这种情况下,升级您的curses / ncurses配置将解决此问题。
如果行数为奇数,则tput cup
清除整个页面。
这样写应该可以解决:
tput cup $(($(stty size|awk '{print $1}')/2)) 0 && tput ed