Terminal

從命令行清除一半螢幕

  • August 20, 2020

是否有某種方法可以清除終端,而不是將提示留在螢幕頂部,而是將其留在中間?看起來clear基本上忽略了所有命令行參數。

我以為會有一些方法可以做到這一點,tput但找不到。

您可以使用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 配置將解決問題。

引用自:https://unix.stackexchange.com/questions/297502