什么会导致终端中出现奇怪的字符?É

spu*_*der 3 terminal character-encoding

我的 mac 中有 vagrant vm 运行。

我不小心将 rpm2cpio 的输出重定向到标准输出。我很快取消了它,但现在我的键盘已经重新映射了一些键。

ÄvagrantÉus-devops-build02 üÅ$ ÄÅÄö\
Run Code Online (Sandbox Code Playgroud)

以下键已重新映射

[ = ä
] = Å
\ = ö
ctrl + c = ÜC

外壳名称显示

ÄvagrantÉus-devops-build02
Run Code Online (Sandbox Code Playgroud)

我已注销,然后以相同的结果重新登录

有谁知道为什么这些键会被重新映射?

Jde*_*eBP 7

那不是修改后的键盘映射。 你的 shell 提示没有输入。 这是一个修改后的输出字符集,影响你的 shell 提示和你输入的内容的回声。

您的终端仿真器能够处理多个字符集,并且经常出现这种情况,当您不小心将二进制文件转储到终端时,二进制文件中的某处是在输出字符集之间切换终端的字符序列。

在这种情况下重置终端仿真器的简单方法是reset命令,有时stty sane在线路规则中是否存在挥之不去的 CR-LF 问题。(有时在后一种情况下必须使用Control+J而不是Return输入命令。)

如果它是一个 GUI 终端模拟器,它的菜单上会有一个“重置”选项来做同样的事情。

真的没有必要为了重置终端的输出字符集而销毁整个虚拟机。

进一步阅读