linux环境sqlplus中使用backspace 及 方向键

linux环境sqlplus中使用backspace键出现乱码的解决方法


  在linux环境下使用sqlplus,在回删(backspace)时往往会出现 一串的乱码。出现乱码是由于oracle的sqlplus不使用gnu的readline库造成的。
 
  解决方法有两种:
 
1。要使用回删键(backspace)时,同时按住ctrl键
 
2。设定环境变量
 
在bash下:$ stty erase ^?
或者把 stty erase ^? 添加到.bash_profile中。
 
在csh下:$ stty erase ^H
或者把 stty erase ^H  添加到.cshrc中。
-------------------------------------------
或者(recommended):
当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能。相反的,在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句。你可以 根据需要修改他们,然后按[Enter]重新提交执行。

为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能。 The rlwrap program is under the GPL license。

rlwrap 最新的版本为rlwrap-0.29.tar.gz,官方主页为 http://utopia.knoware.nl/~hlub/uck/rlwrap/

安装过程如下

引用

cd /usr/local/src
wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.29.tar.gz
tar xzvf rlwrap-0.29.tar.gz
cd rlwrap-0.29
./configure --prefix=/usr/local/rlwrap
make
make install


详细的使用方法请参考manpage,安装好之后就可以使用了


引用
/usr/local/rlwrap/bin/rlwrap sqlplus


然后就可以使用 上、下、左、右 键来编辑已执行过的命令

如果嫌每次输入这么长的命令很麻烦的话,可以在 oracle用户下的 .bash_profil 中加入一条alias

引用
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'

这样每次只要直接输入 sqlplus命令就可以使用回调命令的功能了
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值