我正在运行一个非常简单的脚本,该脚本逐行读取并将输入的行打印回终端:
while read CMD; do
echo $CMD
done
它工作正常,但是当我尝试编辑带有backspace
字符的行时,它会打印^?
而不是删除字符。当我按Ctrl
+时backspace
,输出为^H
。如何解决此问题,以便backspace
删除字符而不是添加这些字符?我尝试了stty erase '^?'
命令,但没有成功。
请注意16.10上个月已达到其支持周期的结尾。您应该尽快升级到17.04。
—
字节指挥官
我建议更换
—
赛勒斯(Cyrus)
read CMD
的read -e CMD
。
尝试
—
Severus Tux
terminator
代替gnome-terminal
。其工作正常
@whtyger这适用于此脚本。在我的实际情况下,我从程序中输入了内容,但不调用read。我没有机会更改程序脚本,这只是代表我的问题的一个示例。是否有全局设置可以对所有输入进行此配置?
—
vrom911 '17
@Cyrus我的Backspace可以按我的需要工作-始终删除最后一个字符,即使对于这个脚本也可以不加
—
Shersh
-e
选择地删除它。但是在@ vrom911的机器上不是这样。我想知道为什么会发生这种情况以及可以在哪里进行配置。