清算終端

清算終端

我想從 bash 腳本發出命令來清除它運行的終端:

  • 我不想要清除 bash 歷史記錄 (history -c)
  • 我不想要發出清除命令(這會將終端向下移動到最後一個提示符,給人的印像是終端已被清除,但如果向上滾動,則先前的輸出仍然可見)
  • 我想完全刪除終端之前的所有輸出並使其乾淨,就像我打開一個新終端一樣

謝謝。

答案1

嘗試printf '\033c'。這會向終端發送一個轉義序列,通常會清除所有內容,包括回滾緩衝區。

答案2

clear確實清除終端螢幕。我猜您是從圖形介面存取終端,因此您實際上使用的是控制台介面,而不是實際的控制台。此介面會自動「儲存」您的輸出歷史記錄(向上捲動時看到的內容)。在真正的控制台(沒有圖形介面)中,您不能只是向上滾動。在這種情況下,終端機只是一個保存控制台輸出日誌的程式。

如果您打開新的終端窗口並關閉當前窗口,您將從一個新窗口開始。 (您也可以透過前往終端機 -> 重新初始化並清除來手動重新初始化」)


在桌面環境中運行的終端: 在此輸入影像描述

沒有桌面環境的控制台: 在此輸入影像描述

答案3

查看這篇 SU 文章引用了 Bash 重置和清除命令

除了reset答案還描述了另一種清除終端的方法。

答案4

一種選擇可能是查看終端是否可以在禁用回滾的情況下啟動。例如,xterm -sl 0將啟動一個帶有 0 個 saveLine 的 xterm。查看man檔:

   -sl number
           This option specifies the number of lines  to  save  that  have
           been  scrolled  off the top of the screen.  This corresponds to
           the saveLines resource.  The default is 64.

相關內容