每当我在我的 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 字符。这是那种由事实证实两者 intr
并erase
设置为DEL
根据您的stty -a
输出。我不知道在这种情况下哪个会被优先考虑,因为我从来没有愚蠢到尝试过:-) (a)
确认的快速方法是输入:
stty intr '^C'
Run Code Online (Sandbox Code Playgroud)
在您的终端会话中,这会将其更改为 CTRL-C,然后查看退格键的作用。
如果然后开始正常工作,您需要找到intr
设置击键的位置并阻止它发生,或者只是将其设置^C
为配置文件中的最后一件事(覆盖错误的设置)。
(a)虽然,实际上,我刚刚通过将 myintr
和erase
to ^?
(我的退格字符)都设置为它来试一试,并且中断性质接管了。