[英]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.