在Linux的sqlplus中运行SQL语句之后,想用上下键把历史命令找出来,发现不支持。
按照下面的步骤可以设置
1,从http://download.csdn.net/user/kkdelta下载 rlwrap
2,安装rlwrap
- [root@localhost]# tar -zxvf rlwrap-0.30.tar.gz
- [root@localhost]# cd rlwrap-0.30
- [root@localhost rlwrap-0.30]# ./configure
- [root@localhost rlwrap-0.30]# make
- [root@localhost rlwrap-0.30]# make install
- [root@localhost rlwrap-0.30]# rlwrap
3,使用rlwrap,rlwrap sqlplus / as sysdba
这时候,熟悉的上下键功能有回来了。
4,设置别名,让sqlplus默认在rlwrap方式下运行。
[root@localhost rlwrap-0.30]# vi /home/oracle/.bash_profile
添加下面的内容
alias sqlplus='rlwrap sqlplus'
alias定义中使用的是单引号,而不是TAB上面的那个,/home/oracle/是oracle用户的主目录。
上面的设置需要Oracle用户重新登录,
如果上面的设置不起作用的话,可以设置在/home/oracle/.bashrc中,这样每次改变到bash的时候都会设置alias。
用type sqlplus验证,如果显示下面的信息证明alias设置成功。
sqlplus is aliased to 'rlwrap sqlplus'
rlwrap
rlwrap is a wrapper that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is kept between invocations, separately for each command; history completion and search work as in bash and completion word lists can be specified on the command line.