Linux中Oracle的sqlplus下退格和Del键无效的问题解决
PS:近来因工作需要业余在学习oracle,发现通过SecureCRT或putty等SSH客户端远程登录Linux下oracle的sqplus时,输错字符后按Backspace键或Del键删除时,会出现^H或其他乱七八糟的的字符,感觉非常别扭不习惯,虽然可以通过Ctrl+Backspace组合键实现删除功能,但是严重影响使用效率。google了一番,终于完美解决此问题。总结记录如下,本文是此问题最完整的总结: 乱七八糟的字符如图: 一、SecureCRT终端里的解决方法:(不完美)在SecureCRT终端里,如果要在sqlplus下使用Backspace来删除字符,有两种临时方法。 第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到oracle用户的.bash_profile文件里。 stty命令简介: 查看当前stty现有设置,如图: 第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的其中一个,并确保另一个不被选中。 另一个问题是bash shell下的sqlplus中使用上下箭头无法显示上下命令,而只是显示^[[A,这个问题可以安装rlwrap这个工具解决! 二、利用rlwrap工具解决方法:(完美)1、安装rlwrap和readline库 CentOS下可以用EPEL的yum源直接安装,步骤如下: (1)RHEL/CentOS/SL Linux 6.x 下安装 EPEL6 yum源: 32位系统选择: 64位系统选择: 导入key: 默认会在/etc/yum.repos.d/下创建epel.repo和epel-testing.repo两个配置文件。 (2)安装rlwrap和readline: 其他Linux发行版如果源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。 wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gztar zxvf rlwrap-0.37.tar.gzcd rlwrap-0.37/./configuremakemake install(3)设置sqlplus的系统别名: 在头部或尾部添加: 退出oracle用户再重新登录就ok。现在sqlplus用起来就很爽很习惯了! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |