Backspace 就像 Bash 中的 Enter 一样

Kev*_*777 2 bash sco

每当我在我的 SCO 机器中输入错误时,使用bash, 我按下backspace它就像按下enter,但不执行命令。

例如

bash-3.1$ ifcomfig "(backspace)"
bask-3.1$ 
Run Code Online (Sandbox Code Playgroud)

但是如果我按下enter,那么它会是这样的:

bash-3.1$ ifcomfig "(enter)"
bash: ifcomfig: command not found
Run Code Online (Sandbox Code Playgroud)
  • 为什么要这样做?
  • 我该如何解决这个问题?

谢谢

更新

这是输出stty -a

speed 38400 baud;   ispeed 38400 baud;   ospeed 38400 baud;   line = 0(tty);
rows = 100; columns = 92; ypixels = 0; xpixels = 0;
intr = DEL; quit = ^\; erase = DEL; kill = ^U; eof = ^D; eol = ^@;
swtch = <undef>; susp = <undef>; start = ^Q; stop = ^S;
-parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk
-ortsfl -ctsflow -rtsflow
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
-ixon -ixany -ixoff
isig icanon -xcase echo -echoe -echok -echonl -noflsh
-iexten -tostop -xclude
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel
-isscancode
-autoe -ed_emacs -ed_vi -ed_history
Run Code Online (Sandbox Code Playgroud)

小智 7

键盘上的退格键可能实际上正在生成 DEL 字符。这是那种由事实证实两者 intrerase设置为DEL根据您的stty -a输出。我不知道在这种情况下哪个会被优先考虑,因为我从来没有愚蠢到尝试过:-) (a)

确认的快速方法是输入:

stty intr '^C'
Run Code Online (Sandbox Code Playgroud)

在您的终端会话中,这会将其更改为 CTRL-C,然后查看退格键的作用。

如果然后开始正常工作,您需要找到intr设置击键的位置并阻止它发生,或者只是将其设置^C为配置文件中的最后一件事(覆盖错误的设置)。


(a)虽然,实际上,我刚刚通过将 myintreraseto ^?(我的退格字符)都设置为它来试一试,并且中断性质接管了。