解决linux中sqlplus上下键显示历史sql语句

来源:http://www.boobooke.com/bbs/thread-18020-1-1.html

总而言之,SQL*PLUS在Linux没有命令上下翻滚功能,甚至也不能使用左右键进行当前命令的修改,这个实在是不爽。。。
上面的文章介绍的工具真的很强大,简单的来说,就是利用rlwrap这个工具来驱动sqlplus来实现上下翻滚以及左右键进行命令修改的功能。

如果你使用的是ubuntu,那么可以直接用apt-get来进行安装,如果你用的是redhat或者centos,那么就要进行编绎了。

rlwrap依赖于libtermcap-devel跟readline-devel,在进行安装之前,你还需要安装这两个包:

yum install -y readline-devel libtermcap-devel

然后,你就要下载rlwrap并进行编绎了:

wget "http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz"
tar -xvf rlwrap-0.37.tar.gz
cd rlwrap-0.37
./configure && make && make check && make install

之后,你运行:

rlwrap sqlplus /nolog

就会发现已经可以进行命令上下翻滚与回退修改了。

当然,为了方便,你也可以把sqlplus alias成 rlwrap,这样子你就不用每次都加rlwrap了