【发布时间】:2013-07-15 00:16:11
【问题描述】:
有时我不得不运行一个命令行工具(一个 Python 脚本),它的输出似乎会破坏我的终端。
执行完成后,输入反馈消失了(我看不到我在输入什么),也没有显示换行符。如果终端通过Putty 远程启动,并且使用gnome-terminal 在本地启动,则会发生这种情况。
例如,问题发生后,如果我输入 ENTER pwd ENTER,我希望看到:
[userA@host006 ~]$
[userA@host006 ~]$ pwd
/home/userA
[userA@host006 ~]$
但实际上输出是:
[userA@host006 ~]$ [userA@host006 ~]$ /home/userA
[userA@host006 ~]$
修复它的唯一方法是关闭该终端并启动一个新终端。
可能是相关的:脚本输出包含一些基于终端的格式(例如,反转前景/背景以突出显示某些状态消息)。如果我将此输出转储到文件中,我可以看到类似[07mSome Message Here[0m 的内容。
有什么想法可以防止这种情况发生吗?
【问题讨论】:
-
您似乎处于一个子shell 中,您需要退出该子shell 才能返回原来的终端。试试 exit;pwd
-
这与 SO 无关;属于Unix & Linux 或Super User。也就是说,您通常可以通过盲输入
stty sane来修复损坏的终端会话,这会将您的终端恢复到“正常”设置。 -
另外,当您遇到终端问题时,您可以尝试使用
reset或stty sane修复它们。
标签: linux bash terminal putty gnome-terminal