为什么我在终端上看到转义字符?
通常CTRL-C
或CTRL-D
退出程序。但是,不要退出程序,按CTRL-C
只是将字符转义并输出到终端屏幕。我之前已经多次看到过这种情况发生在不同的程序上:Django,ssh等。我注意到,当我离开终端很长一段时间时会发生这种情况。为什么我在终端上看到转义字符?
- 有没有办法将
CTRL-C
的行为恢复到我的预期? - 转义字符背后的原因是什么?
这里是什么我通过逃脱CTRL-C
和其他字符的意思的输出例如:
^C^C^d^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^d^d^d^d^d^d^d^d^d^d^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^d^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^d^d^D^D^D^D^D^D^D^D^D^D^D^D^[^ D^D^D^Z^Z^Z^Z^Z^Z
回答:
这是导致与服务器的连接可能已经中断,因此您的终端只是回应您所做的事情,而不是能够向您显示命令或服务器正在响应的内容。在这种情况下摆脱ssh的方式是使用终止序列~ + . + Enter
。输入可能不总是需要
下面是SSH转义序列的列表
~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
PS:从https://lonesysadmin.net/2011/11/08/ssh-escape-sequences-aka-kill-dead-ssh-sessions/
以上是 为什么我在终端上看到转义字符? 的全部内容, 来源链接: utcz.com/qa/259874.html