如何恢复 Unix 终端

如何恢复 Unix 终端

有时我的 Unix 终端会被破坏,原因如下:

  • 我可以输入命令,但字符没有在屏幕上回显。当我按回车键时,提示符打印在与当前行相同的行上(不会先插入换行符)

  • 如果我意外地cat对二进制文件执行了此操作,则字符集就会更改,这样我键入的命令就会显示为乱码而不是正常的 ascii。

是否有任何万能的方法可以使 shell 恢复正常,或者我只需要关闭终端并启动一个新的终端?

(我目前在 Mac 上使用 Bash,但我在其他系统上也遇到过这种情况。)

答案1

类型 :

kill -28 $$

或者

reset

这应该可以恢复你的任期=)

笔记

28信号绞盘信号,见

man 7 signal

答案2

解除 tty 阻塞的标准方法是输入:(^Jreset^J这里^J是 control-J)。这会发送一个换行符来结束任何行(第一个^J),命令reset和另一个换行符。如果正在监听的是 shell,这应该可以解决问题。有时(很少)需要用 替换命令stty sane。如果您知道后面可能正在运行什么,也许需要事先发送使该命令退出的命令。

相关内容