使用rlwrap上下翻sqlplus历史命令

Linuxsqlplus中运行SQL语句之后,想用上下键把历史命令找出来,这样是linux系统默认是不支持的。

如何像windows里的cmd窗口的sqlplus一样能上下翻历史命令呢?

可以使用rlwrap工具实现这个功能

1.下载rlwrap工具

http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz

2.安装rlwrap

[root@server122 oracle]# tar -zxvf rlwrap-0.37.tar.gz

[root@server122 rlwrap-0.37]# ./configure

[root@server122 rlwrap-0.37]# make

[root@server122 rlwrap-0.37]# make install

--查看rlwrap命令

[root@server122 rlwrap-0.37]# rlwrap

Usage: rlwrap [options] command ...

Options:

-a[password:] --always-readline[=password:]

-A --ansi-colour-aware

-b <chars> --break-chars=<chars>

-c --complete-filenames

-C <name|N> --command-name=<name|N>

-D <0|1|2> --history-no-dupes=<0|1|2>

-f <completion list> --file=<completion list>

-g <regexp> --forget-matching=<regexp>

-h --help

-H <file> --history-filename=<file>

-i --case-insensitive

-I --pass-sigint-as-sigterm

-l <file> --logfile=<file>

-n --no-warnings

-N --no-children

-o --one-shot

-O <regexp> --only-cook=<regexp>

-p[colour] --prompt-colour[=colour]

-P <input> --pre-given=<input>

-q <chars> --quote-characters=<chars>

-m[newline substitute] --multi-line[=newline substitute]

-r --remember

-R --renice

-v --version

-s <N> --histsize=<N> (negative: readonly)

-S <prompt> --substitute-prompt=<prompt>

-t <name> --set-term-name=<name>

-w <N> --wait-before-prompt=<N> (msec, <0 : patient mode)

-z <filter command> --filter=<filter command>

bug reports, suggestions, updates:

http://utopia.knoware.nl/~hlub/uck/rlwrap/

3.使用rlwrap

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

SQL> show sga

Total System Global Area 2.5770E+10 bytes

Fixed Size 2142928 bytes

Variable Size 2852130096 bytes

Database Buffers 2.2901E+10 bytes

Redo Buffers 14630912 bytes

--此时用上下键功能可以就可像windows里一样,可以上下翻命令了

SQL> show sga

4.设置sqlplus别名

为了sqlplus使用方便,让sqlplus默认在rlwrap方式下运行,可以设置一个别名

[oracle@server122 ~]$ pwd

/home/oracle

[oracle@server122 ~]$ vi .bash_profile

alias sqlplus='rlwrap sqlplus' #添加此内容

--使之生效,或是重新登录oracle用户

[oracle@server122 ~]$ source .bash_profile

--type sqlplus验证,如果显示下面的信息证明alias设置成功

[oracle@server122 ~]$ type sqlplus

sqlplus is aliased to `rlwrap sqlplus'

[oracle@server122 ~]$ sqlplus "/as sysdba"

SQL> show sga

Total System Global Area 2.5770E+10 bytes

Fixed Size 2142928 bytes

Variable Size 2852130096 bytes

Database Buffers 2.2901E+10 bytes

Redo Buffers 14630912 bytes

--同样上下翻可以再显历史命令

SQL> show sga

注意:

alias定义中使用的是单引号,而不是TAB上面的那个,/home/oracle/oracle用户的主目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值