在linux/unix 平台上的sqlplus中,如果输错了字符,要想删除,习惯性的按下backspace键后,发现非但没有删除想要删掉的字符,还多出了两个字符^H。当然,我们可以同时按下ctrl+backspace键来删除,但对于习惯了用backspace来删除的用户,这样很不爽。这可以通过修改tty终端的设置来实现backspace删除功能。通过使用stty命令,就可以查看或者修改终端的按键设置。
例如,设置backspace为删除键:
[oracle10g@linux]$ stty erase ^h
如果要改回使用ctrl+backspace为删除键
[oracle10g@linux]$ stty erase ^?
如果需要重启后自动设置终端,可以将上述命令加入到profile中。
可以通过stty -a命令来查看所有的终端设置。下面是在linux下执行的输出:
[oracle10g@linux]$ stty -a
speed 38400 baud; rows 66; columns 132; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
其中:
eof : 输入结束
erase : 向后删除字符,
intr : 中断当前程序
kill : 删除整条命令
quit :退出当前程序
start : 启动屏幕输出
stop :停止屏幕输出;
susp : terminal stop当前程序。
责任编辑:小草