Prompt

完全清除終端視窗輸出(甚至提示文本)?

  • July 9, 2017

我在一台 linux 機器上,我需要一個 sh 腳本/命令,以便能夠從終端視窗中刪除所有內容(甚至顯示為 PS1 變數的內容)並刪除滾動功能。

基本上我需要一個空白終端,您只能在其中看到程序的輸出並且無法滾動。就像nano命令一樣。

我嘗試了各種方法,例如, clearreset但所有這些方法(儘管清除了幾乎所有內容)都會使提示文本保持原樣,這是我不想要的。我也不需要在終端中向上或向下滾動。tput reset``echo -en \\ec

一個解決方案可能是列印一些相當於終端高度的換行符,但這樣我可以向上滾動並最終看到提示文本,因此結合禁用滾動/捲動條可能是一個解決方案,但是我不知道該怎麼做,即使那樣,我也不認為這是一個“乾淨”的解決方案。

謝謝。

他們都是

$$ … $$保持提示文本不變

不真實。他們都清除了螢幕(其中一些——當心!——不僅如此)。然後你的 shell 在它們完成執行後出現,並列印另一個 prompt。如果您希望程序在清晰的螢幕上執行,則應該在互動式 shell 提示輸入另一個命令行之前clear,在執行命令的同一命令行或腳本中執行它。

清除 ; 一些程序

什麼nano命令

nano屬於全屏 TUI 程序,與mclessnvim、等程序並列tin。這些程序所做的是使用 termcap/terminfo 數據庫來獲取用於將終端切換到和退出游標定址模式的控制序列,它們會在啟動和關閉使用者界面時向終端發出這些控制序列。通常,終端處於滾動模式

對於某些終端類型,在幕後切換到游標定址模式會切換到備用螢幕緩衝區,並且備用螢幕緩衝區沒有回滾,因此沒有捲動條小元件。並非所有終端類型都保證此行為,因為並非所有終端類型甚至都有備用螢幕緩衝區。

進一步閱讀

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