当我想在命令的一长串输出行之后提供视觉中断时,我通常运行clear
以便终端清除屏幕,将我的提示放回到0,0同时保持历史(vs reset
)。
问题在于,当我向上滚动时,终端现在回到输出的长行,历史上没有任何中断。
我想通过yes '' | head -n $(tput lines)
“回显一个屏幕的空行”,然后我的光标位于屏幕的底部。所以我尝试运行clear
,但它似乎删除了空行。我也试过了tput cup 0 0
,但也删除了空行(我想通过“恢复”我的屏幕的空行值)。
我可以通过用yes
而不是空字符串打印任何字符来强制空行,或者我可以在空行的末尾打印一些字符/消息。但现在我正在添加垃圾。
我唯一能够上班的是:
yes '' | head -n $(($(tput lines) * 2))
tput cup 0 0
还有其他方法或者这是我唯一的选择吗?
答案 0 :(得分:0)
基本上是 - 您可以通过各种方式表达脚本,但大多数终端不允许使用一个可用于改进脚本的方面:向上滚动时,它们不会将空白行移动到滚动条中。所以你不能(例如)这样做:
tput cup $(tput lines)
tput indn $(($(tput lines) * 2))
tput cup 0 0
tput ed
因为indn
(索引)所期望的空白行被忽略。