sqlplus中不能上下键选择前一条命令解决方法

sqlplus中不能上下键选择前一条命令解决方法

安装一个叫rlwrap的工具:
http://utopia.knoware.nl/~hlub/uck/rlwrap/
(http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.30.tar.gz)
已经上传到本文附件:后缀为.rar,主要是51cto不支持.tar.gz后缀,实际上是一个tar.gz压缩包
 
tar -zxvf rlwrap-0.30.tar.gz
cd rlwrap-0.30
./configure
make
make install
 
把下两句写入运行oracle的用户.bash_profle文件中:
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
 
这样就能使用上下键切换到历史命令去了。同时还能使用回退键修改错误的命令。
否则需要使用ctrl+回退键才行。
 
 
要使用回退键,还有另外一个方法:
在oracle用户的.bash_profile 中添加
stty erase ^h
再执行
# . ~oracle/.bash_profile
但是这样不能使用上下键
--------------------------------------------------------------------------------------
()在linux 上的oracle sqlplus 不能利用 上, 下 键来查看命令 而苦恼. rlwarp 工具可以帮助我们解决这个问题.

官方下载地址:http://utopia.knoware.nl/~hlub/uck/rlwrap/

安装过程:

[root@oradb temp]# tar -xvf rlwrap-0.28.tar
[root@oradb temp]# cd rlwrap-0.28
[root@oradb rlwrap-0.28]# ./configure
[root@oradb rlwrap-0.28]# make
[root@oradb rlwrap-0.28]# make install

这样就可以使用 rlwarp 了.

[oracle@oradb ~]$ rlwrap sqlplus "/ as sysdba"

这样登录数据库 , 就可以使用上 下 键查找上次执行的命令.

如果每次都需要输入 rlwrap 感觉麻烦的话 , 还可以加入到 .bash_profile 中, 就不用每次都输入了.

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

这样就大公告成了,觉的是不是很爽。

附录:.bash_profile

export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME_LISTNER=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=oradb

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/app/temp
export TMPDIR=/app/temp
export LANG=EN_US
export NLS_LANG=American_America.ZHS16GBK
export SQLPATH=/app/oracle/login

alias sqlplus='rlwrap sqlplus'
原文地址:https://www.cnblogs.com/weixun/p/3108075.html