解决oracle数据库在(>sql)下打错命令不能退格和删除的问题
2010年01月07日 星期四 14:34
 

修改.bash_profile(在sql>下打错字符时,敲退格键时就不会显示^h了)
   cd
   vi .bash_profile
加入:stty erase ^H
然后重启服务器就可以了。
文章出处:DIY部落(http://www.diybl.com/course/7_databases/oracle/oraclejs/20090318/163187.html)

下面是扩展知识

 在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当前程序。

原文地址:http://hi.baidu.com/wuyuwenct/blog/item/442e0645af3c5247510ffe8a.html