[英]How to clear terminal (Mac osx) scrollback?
我正在尋找一種簡單的方法來清除Python腳本中的終端回滾。 我知道os.system('clear')
,但是這只會打印新行,從視圖中隱藏回滾歷史記錄, 而不會刪除它。 有沒有辦法做到這一點? 謝謝!
如前所述,可以在終端上使用硬件復位,即\\033c
。 這行得通,但即使對於終端仿真器,也會產生一些不良效果,例如重置顏色。
如果您使用的是xterm
,則具有一個特定的控制序列\\033[3J
來執行此操作(請參閱XTerm控制序列 ,即"Ps = 3 -> Erase Saved Lines (xterm)."
))。 如下所述,OSX Terminal顯然沒有實現該功能。
對於特定於OSX的行為,此問題之前曾被問過,例如,
osascript
實用程序。 有趣的是,建議的替代方法之一是\\033[3J
,但這在我的Mac上不起作用。 osascript
的問題,它可能會清除錯誤的窗口,並提供與以下內容不同的答案: osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'
(我已經測試了最后一個,對我有用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.