C Shell(csh)Backspace键取消不删除命令的命令

时间:2015-06-26 06:22:34

标签: shell csh

在我的 HP-UX (B.11.23 U ia64)框中, Csh 作为登录shell运行。

what /usr/bin/csh

sh.lex.c $ Date:2005/02/28 10:00:30 $ Revision:r11.23 / 2 PATCH_11.23(PHCO_32667)          $ Revision:@(#)csh R11.23_BL2005_0301_1 PATCH_11.23 PHCO_32667

但是当我在提示符中键入任何命令并按 Backspace 键时,键入的命令将被取消,光标将转到下一行而不执行命令。没有发生命令的删除。 我试过设置:

stty erase <backspace>

stty erase ^H

但没有用。

我想知道如何使 Backspace 键正常工作,也就是说,它必须删除键入的字符

stty -a

*speed 38400 baud; line = 0;
rows = 24; columns = 80
min = 1; time = 1;
intr = DEL; quit = ^\; erase = DEL; kill = @
eof = ^D; eol = ^@; eol2 <undef>; swtch <undef>
stop = ^S; start = ^Q; susp <undef>; dsusp <undef>
werase <undef>; lnext <undef>
-parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk -crts
-ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon ixany -ixoff -imaxbel -rtsxoff -ctsxon -ienqak
isig icanon -iexten -xcase echo -echoe echok -echonl -noflsh
-echoctl -echoprt -echoke -flusho -pendin
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel -tostop tab3*

2 个答案:

答案 0 :(得分:0)

可能您的终端正在发送除^H control + H )之外的其他字符,例如DEL(通常回显为^?)。您可能会在stty -a的输出中看到该字符。

答案 1 :(得分:0)

This is usually fixed with typing:

stty erase Control + VBackspace

To get the current settings, run:

stty -a  

Edit:

The issue is DEL is set to both the erase and interrupt characters, fix the latter with:

stty intr Control + C

Alternatively:

stty intr `printf "\03"`