ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解决sql中上下左右backspace不能用的方法

解决sql中上下左右backspace不能用的方法

Linux操作系统 作者:ddlovefish 时间:2014-01-22 16:03:44 0 删除 编辑

一. 解决输入 BACKSPACE 键变成 ^h 的问题

#su - oracle  

$stty erase ^h.

要永久生效,可以加入到用户环境配置文件 .bash_profile 加入如下一行

stty erase ^h

 

二. 解决上下左右键问题


1.  安装 readline 组件包

到  ftp://ftp.gnu.org 的 gun/readline目录下,下载最新版本的 read.*.tar.gz 文件,

如:   ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz


然后上传到服务器进行编译安装, 相关指令:


tar zxvf 文件名

./configure   或者  perl Makefile

make

make install

2. 安装 rlwrap 组件包

到如下网页搜索下载相应操作系统版本的 rlwrap  rpm 包,这里以RHEL4为例:

http://rpm.pbone.net/index.php3/stat/4/idpl/5810350/com/rlwrap-0.30-1.el4.i386.rpm.html

如:  ftp://ftp.univie.ac.at/systems/linux/fedora/epel/4/i386/rlwrap-0.30-1.el4.i386.rpm


注意:

对于 x86_64 系统, 也安装上述 i386版的rpm包即可。

然后上传到服务器后使用类似如下指令进行安装:

#rpm -Uvh rlwrap-0.30-1.el4.i386.rpm


也可以到其官方下载源文件进行手工编译:

http://utopia.knoware.nl/~hlub/uck/rlwrap/

但是, 我在编译的时候遇到了如下错误, 所以还是推荐使用 RPM 包进行安装

=======================================================

......
readline.o(.text+0xf5c): In function `prompt_is_single_line':
/home/rlwrap-0.36/src/readline.c:686: undefined reference to `rl_variable_value'
collect2: ld returned 1 exit status
make[1]: *** [rlwrap] 错误 1
make[1]: Leaving directory `/home/rlwrap-0.36/src'
make: *** [install-recursive] 错误 1
......

=======================================================

3. 使用方法
可以手动输入如下指令使用:
# rlwrap sqlplus "/as sysdba"


为了方便,也可以在Oracle用户环境配置文件
.bash_profile中加入如下语句:

stty erase ^h  

alias sqlplus='rlwrap sqlplus'


最后,再次进入sqlplus,上下左右和Backspace键都可以用了
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29306197/viewspace-1074149/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-14

  • 博文量
    19
  • 访问量
    49771