如何退格或删除?
How to backspace or delete?
在 Windows 10 中,当我在 windows 启动 MS PowerShell 以通过 Kitematic 中的容器进行 ssh 时,我注意到我无法退格或删除,而是得到 ^H用于退格而不是实际删除前一个字符。
我是不是漏掉了什么?
临时解决方案是在通过 ssh 连接时将 tty erase
命令设置为您在终端中发送的任何退格键。
stty erase ^H
上面的^H
序列不是文字,而是按ctrl-v输入的控制字符,然后退格。
您可以将此命令添加到 docker VM 上的 .bashrc
文件中,以便在每次连接时自动设置它。在终端中编辑文件时,您必须输入与上述转义序列相同的字符串。
在 .bashrc
中执行此操作将为 所有 登录 VM 设置 erase
,因此您可能会对擦除对其他终端类型的工作方式产生负面影响连接。
您通常会在客户端而不是服务器端修复此问题。 For example, PuTTY has a specific setting for this。我不确定为什么您的 powershell/ssh 组合没有正确映射擦除,因为 Docker 通常开箱即用。在启动 docker/ssh 终端时检查 Docker 快捷方式的作用,并在启动终端以手动连接时执行相同的操作。
接受的答案有效,但我想我要指出的是,如果您启动 bash 而不是留在 sh 中,那么一切都有效,因此只需在 # 提示符下键入 bash 即可将获得您需要的功能。
万一有人在这个后期阶段无意中发现了这个 - 类似情况 - 使用 MS POWERSHELL openSSH 实现。远程进入 AIX/ksh。
必须将 TERM 设置为 vt100(已编辑 .profile
)才能让 vi
在不加重的方式:
TERM=vt100
EXPORT TERM
然后将这一行添加到我的 .profile.
stty erase '^?' echoe
erase '^?'
使用 windows ssh.
提供的退格键
echoe
强制编辑显示在屏幕上。
没有echoe
我会输入
3456[backspace][backspace][backspace][backspace][enter]
is not recognized as a command
在输入行上 - 每个退格键都附加到带有一个小问号的行。
在 Windows 10 中,当我在 windows 启动 MS PowerShell 以通过 Kitematic 中的容器进行 ssh 时,我注意到我无法退格或删除,而是得到 ^H用于退格而不是实际删除前一个字符。
我是不是漏掉了什么?
临时解决方案是在通过 ssh 连接时将 tty erase
命令设置为您在终端中发送的任何退格键。
stty erase ^H
上面的^H
序列不是文字,而是按ctrl-v输入的控制字符,然后退格。
您可以将此命令添加到 docker VM 上的 .bashrc
文件中,以便在每次连接时自动设置它。在终端中编辑文件时,您必须输入与上述转义序列相同的字符串。
在 .bashrc
中执行此操作将为 所有 登录 VM 设置 erase
,因此您可能会对擦除对其他终端类型的工作方式产生负面影响连接。
您通常会在客户端而不是服务器端修复此问题。 For example, PuTTY has a specific setting for this。我不确定为什么您的 powershell/ssh 组合没有正确映射擦除,因为 Docker 通常开箱即用。在启动 docker/ssh 终端时检查 Docker 快捷方式的作用,并在启动终端以手动连接时执行相同的操作。
接受的答案有效,但我想我要指出的是,如果您启动 bash 而不是留在 sh 中,那么一切都有效,因此只需在 # 提示符下键入 bash 即可将获得您需要的功能。
万一有人在这个后期阶段无意中发现了这个 - 类似情况 - 使用 MS POWERSHELL openSSH 实现。远程进入 AIX/ksh。
必须将 TERM 设置为 vt100(已编辑 .profile
)才能让 vi
在不加重的方式:
TERM=vt100
EXPORT TERM
然后将这一行添加到我的 .profile.
stty erase '^?' echoe
erase '^?'
使用 windows ssh.
echoe
强制编辑显示在屏幕上。
没有echoe
我会输入
3456[backspace][backspace][backspace][backspace][enter]
is not recognized as a command
在输入行上 - 每个退格键都附加到带有一个小问号的行。