[转] Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
2012-10-22 16:13
1341 查看
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现有设置,如图:
第二种是使用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位系统选择:
乱七八糟的字符如图:
一、SecureCRT终端里的解决方法:(不完美)
在SecureCRT终端里,如果要在sqlplus下使用Backspace来删除字符,有两种临时方法。
第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到oracle用户的.bash_profile文件里。
stty命令简介: Unix或者Linux中有个stty命令,它的作用是打印或更改terminal(终端)的设置。 常用参数: -a --all 用人类可读表格,打印出所有现有设置 -g --save 用stty可读表格,打印出所有现有设置 --help 帮助 --version 版本
查看当前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位系统选择:
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm[/code] 64位系统选择:# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm[/code] 导入key:# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
默认会在/etc/yum.repos.d/下创建epel.repo和epel-testing.repo两个配置文件。
(2)安装rlwrap和readline:# yum install rlwrap readline readline-devel
其他Linux发行版如果源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install
(3)设置sqlplus的系统别名:# vim /home/oracle/.bash_profile
在头部或尾部添加:alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
退出oracle用户再重新登录就ok。现在sqlplus用起来就很爽很习惯了!
来源:http://www.ha97.com/4856.html
相关文章推荐
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- 【转】Linux下Oracle sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- (转)Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法--使用rlwrap
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)
- Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)(转)
- Linux下修改.bash_profile文件后再次用CRT启动环境变量未生效的解决方法,oracle命令无法使用
- linux 下普通用户无法使用sudo命令的解决方法
- Linux 下删除 History 历史命令记录的方法
- linux无法使用service命令的解决方法
- Linux环境下的SQL*PLUS及RMAN中不能使用上下方向键查看命令历史的解决方法
- linux 下普通用户无法使用sudo命令的解决方法
- linux下history命令显示历史指令记录的使用方法
- rlwrap解决linux下sqlplus输用上下键无法查看历史消息的问题
- Windows下,在Git Bash中使用git log命令查看历史记录时,出现乱码的解决方法
- 解决linux下oracle无法使用上下键的方法
- Oracle sqlplus中上下左右 退格键无法使用解决方法
- linux下history命令显示历史指令记录的使用方法
- linux上使用rlwrap 解决oracle可以上下键查看命令
- linux 下普通用户无法使用sudo命令的解决方法