我正在使用 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
在哪里退格键是当您按“退格”键时终端发送的内容。
之后,只要您保持连接,“退格键”就应该继续在该会话中工作。