linux/unix平台Oraclesqlplus 中Backspace无法删除字符问题


Oracle sqlplus在打错字符时我们可以使用ctrl+backspace组合键实现删除功能。但是你一定要使用! WBackspace键删除的话,会出现^H,无法删除,这是应用linux中对tty设备的字符转换没有配置好,可通过stty命令修改终端配置来实现Backspace删除功能。具体修改办法如下:+ ?$ ^& g3 t3 c& t/ z;I& i

  z%u7 h; Y2 k4 i8 B) j[oracle@www.yeserver.com ~]$ id

uid=800(oracle) gid=803(oinstall) groups=800(dba),801(oper),803(oinstall)

 ( o0 j( f: y0 x6 c[[email protected]~]$ stty erase ^h

* U1 g.{' Q: a

6 {3 i+}4 t# k$ [. h1 z! k% U若要恢复Ctrl+Backspace组合键删除功能,可执行以下命令:

6 a: Z3e9 K+ I, R( r\

[oracle@www.yeserver.com ~]$ id

uid=800(oracle) gid=803(oinstall) groups=800(dba),801(oper),803(oinstall)

 

1 x( ^5z/ t2 w: @[[email protected] ~]$ stty erase ^?

同时可通过stty -a查看所有的终端设置

[oracle@www.yeserver.com ~]$ id

uid=800(oracle) gid=803(oinstall) groups=800(dba),801(oper),803(oinstall)

[[email protected] ~]$ stty -a

speed 38400 baud; rows 37; columns 122;line = 0;

intr = ^C; quit = ^\; erase = ^?; kill =^U; eof = ^D; eol = ; eol2 = ; swtch = ;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 -cdtrdsr

-ignbrk -brkint -ignpar -parmrk -inpck-istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8

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

[oracle@www.yeserver.com ~]$

12-11 09:38