博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Linux下Oracle sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)...
阅读量:6867 次
发布时间:2019-06-26

本文共 1782 字,大约阅读时间需要 5 分钟。

文章转自:

作者: 

PS:近来因工作需要业余在学习,发现通过或putty等SSH客户端远程登录下oracle的sqplus时,输错字符后按Backspace键或Del键删除时,会出现^H或其他乱七八糟的的字符,感觉非常别扭不习惯,虽然可以通过Ctrl+Backspace组合键实现删除功能,但是严重影响使用效率。了一番,终于完美解决此问题。总结记录如下,本文是此问题最完整的总结:

乱七八糟的字符如图:

一、SecureCRT终端里的解决方法:(不完美)

在SecureCRT终端里,如果要在sqlplus下使用Backspace来删除字符,有两种临时方法。

第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到oracle用户的.bash_profile文件里。

stty命令简介:
或者Linux中有个stty命令,它的作用是打印或更改terminal(终端)的设置。
常用参数:
-a --all 用人类可读表格,打印出所有现有设置
-g --save 用stty可读表格,打印出所有现有设置
--help 帮助
--version 版本
查看当前stty现有设置,如图:

第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的其中一个,并确保另一个不被选中。

另一个问题是bash 下的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
64位系统选择:
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
导入key:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
默认会在/etc/yum.repos.d/下创建epel.repo和epel-.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/
# ./
# make

# 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用起来就很爽很习惯了!

转载于:https://www.cnblogs.com/david-zhang-index/archive/2013/01/14/2859252.html

你可能感兴趣的文章
创建和销毁对象
查看>>
vue中引入.svg图标
查看>>
Django3-打包自己的应用程序
查看>>
[译] 正确实现 linkedPurchaseToken 以避免重复订阅
查看>>
SpringBoot2.0 整合 RocketMQ ,实现请求异步处理
查看>>
Verdaccio 搭建私有 NPM
查看>>
java11新特性---Nest-Based Access Control(嵌套访问控制)
查看>>
(七)微服务分布式云架构spring cloud - common-service 项目构建过程
查看>>
Node.js买卖比特币 教程
查看>>
ios讯飞输入与ios自带输入法语音测试
查看>>
mac开发环境工具推荐
查看>>
css之半透明边框
查看>>
Go第三方库
查看>>
《Android开发艺术探索》之IPC
查看>>
Java B2B2C多用户商城 springcloud架构-springcloud 断路器
查看>>
微软支持BCH支付方式 曾三次暂停BTC支付
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
每天进步一点点:(21)SAMBA笔记
查看>>
ajax结构体请求后台
查看>>