Prompt
完全清除終端視窗輸出(甚至提示文本)?
我在一台 linux 機器上,我需要一個 sh 腳本/命令,以便能夠從終端視窗中刪除所有內容(甚至顯示為 PS1 變數的內容)並刪除滾動功能。
基本上我需要一個空白終端,您只能在其中看到程序的輸出並且無法滾動。就像
nano
命令一樣。我嘗試了各種方法,例如,
clear
,reset
但所有這些方法(儘管清除了幾乎所有內容)都會使提示文本保持原樣,這是我不想要的。我也不需要在終端中向上或向下滾動。tput reset``echo -en \\ec
一個解決方案可能是列印一些相當於終端高度的換行符,但這樣我可以向上滾動並最終看到提示文本,因此結合禁用滾動/捲動條可能是一個解決方案,但是我不知道該怎麼做,即使那樣,我也不認為這是一個“乾淨”的解決方案。
謝謝。
他們都是
$$ … $$保持提示文本不變
不真實。他們都清除了螢幕(其中一些——當心!——不僅如此)。然後你的 shell 在它們完成執行後出現,並列印另一個 prompt。如果您希望程序在清晰的螢幕上執行,則應該在互動式 shell 提示輸入另一個命令行之前
clear
,在執行命令的同一命令行或腳本中執行它。清除 ; 一些程序
什麼
nano
命令
nano
屬於全屏 TUI 程序,與mc
、less
、nvim
、等程序並列tin
。這些程序所做的是使用 termcap/terminfo 數據庫來獲取用於將終端切換到和退出游標定址模式的控制序列,它們會在啟動和關閉使用者界面時向終端發出這些控制序列。通常,終端處於滾動模式。對於某些終端類型,在幕後切換到游標定址模式會切換到備用螢幕緩衝區,並且備用螢幕緩衝區沒有回滾,因此沒有捲動條小元件。並非所有終端類型都保證此行為,因為並非所有終端類型甚至都有備用螢幕緩衝區。
進一步閱讀