如何更正我的 debian 中无法识别的代码?

Jic*_*hao 7 shell

运行输出无法识别代码的程序后,整个shell将充满无法识别的代码。

替代文字

我该如何纠正?

use*_*889 9

你试过unixreset命令吗?

这通常是将二进制文件(程序或数据文件)转储到终端(cat some.mp3或类似文件)的结果。通常打字reset会让你的终端恢复正常。如果这不起作用,接下来要尝试的是终端应用程序上的重置功能——在应用程序的菜单中查找它。(例如,PuTTYReset Terminal的系统菜单中有一个。)

很少,这些都不起作用,您只需要关闭该终端或外壳并启动另一个。


Chr*_*sen 7

SI/SO VT100 控制字符

乱码很可能是因为终端得到了一个SI字符(Shift In;ASCII 14;Control-N)。SI是一个VT100 控制字符,可以使终端切换到备用字符集。许多真实的终端(例如,实际的硬件设备,或者只是操作系统的纯文本控制台)和终端程序都遵守此转义码。

切换回正常字符集的直接方法是向终端发送一个 SO 字符(Shift Out;ASCII 15;Control-O)。

恢复

由于字符集已切换,您可能必须“盲目”键入恢复命令(不依赖于看到您键入的内容)。

通常该echo命令会很有用。通常,您可以键入
E C H O Space Control- V Control-O Enter / Return
让终端看到一个Control-O(控制-V告诉端子的输入端,未来是按字面传递,否则输入端将收到“吃”字获取外壳,因此在它可以发送回终端的输出端之前)。

如果您可以假设一个带有printf内置printf命令的合理 shell (或没有 shell 内置命令和合理的外部命令),则可以使用printf '\017'向终端发送 Control-O。