每当我在 SCO 机器上输入错误时,bash
我都会按backspace,就像按 一样enter,但不执行命令。
例如
bash-3.1$ ifcomfig "(backspace)"
bask-3.1$
但如果我按下enter,那么它会是这样的:
bash-3.1$ ifcomfig "(enter)"
bash: ifcomfig: command not found
- 它为什么要这样做?
- 我该如何解决这个问题?
谢谢
更新
这是输出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
答案1
键盘上的退格键可能实际上生成了 DEL 字符。事实证明了这一点两个都 intr
并根据您的输出erase
进行设置。我不知道在这种情况下哪个会被优先考虑,因为我从来没有愚蠢到尝试过:-) (a)DEL
stty -a
确认的快速方法是输入:
stty intr '^C'
在您的终端会话中,这会将其更改为 CTRL-C 并然后看看退格键有什么作用。
如果然后开始工作正常,您需要找到intr
击键的设置位置并阻止它发生,或者将其设置^C
为您的配置文件中的最后一件事(覆盖错误的设置)。
(a)intr
虽然,实际上,我刚刚通过设置 my和erase
to (我的退格字符)来尝试一下^?
,并且中断性质接管了。