使用 MingW32 而不是超级用户的 SSH 中的字符问题

使用 MingW32 而不是超级用户的 SSH 中的字符问题

我正在使用 MINGW32 (Git) 从 Windows 10 通过 SSH 连接到我的服务器。

当我连接并使用根用户一切正常,但是当我使用另一个用户登录并使用特殊字符时,例如退格键或类似的,控制台显示错误的字符我无法抹去。

一个例子:

root@sample:/# php -r 'echo "I can write\n";'
I can write
root@sample:/# php -r 'echo "I can erase without problem\n";'
I can erase without problem
root@sample:/# su sample
$ php -r 'echo "I can write some characters";'
I can write some characters
$ php -r 'echo "I cant erase and I cant use the up arrow for repeat the last command";'
I cant erase and I cant use the up arrow for repeat the last command$
$ ^[[A  : not found
$ : 16:
$ trying erase^H^H^H^H^H

使用 Putty 我没有任何问题。

问候和感谢。

答案1

其他用户可能stty在其 shell 初始化中有一个命令。对于大多数终端,字符有两种选择stty erase:ASCII 退格 ( ^H) 和删除 ( ^?)。由于您是临时登录并且(可能)不应该修改其 shell 初始化,因此快速解决方法是输入

stty erase

后面跟一个空格,然后controlVbackspaceenter

在哪里退格键是当您按“退格”键时终端发送的内容。

之后,只要您保持连接,“退格键”就应该继续在该会话中工作。

相关内容