在linux的sqlplus中如何使用方向键——lrwrap

23 篇文章 0 订阅

    在Linux操作系统下使用Oracle的SQL*Plus工具有一个比较麻烦的地方:通过sqlplus命令进入到SQL*Plus控制台后,我们在Bash中已经习以为常的上下左右键突然变成了^[[A^[[B^[[D^[[C这样的"乱码"。熟悉ksh的朋友肯定要说我们这是大惊小怪了,不过对于从Windows平台转过来的一般用户而言,不小心按错一下就是4个错误的字符,而且历史命令也无法方便的回查了,确实挺郁闷的。别着急,如果你的Linux是Debian或者Ubuntu/Kubuntu,直接sudo apt-get install rlwrap安装这个小巧的readline扩展,然后就可以以rlwrap sqlplus的方式进入方向键"正常"的SQL*Plus了。当然,如果嫌每次敲rlwrap不爽,可以在/etc/profile或者自己的~ /.bashrc里面添加 alias sqlplus='rlwrap sqlplus'。其他发行版的朋友可以选择rpm包或者干脆从源码自己编译。


rlwrap 的安装使用:


安装rlwrap:

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

[root@pbr-svr1 ~]# tar -zxvf rlwrap-0.37.tar.gz

[root@pbr-svr1 ~]# cd rlwrap-0.37

[root@pbr-svr1 rlwrap-0.37]# ./configure

[root@pbr-svr1 rlwrap-0.37]# make

[root@pbr-svr1 rlwrap-0.37]# make install

[root@pbr-svr1 rlwrap-0.37]# rlwrap

[root@pbr-svr1 ~]$ 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/

为 lrwrap sqlplus 命令添加别名:

[root@pbr-svr1 rlwrap-0.37]# vi /home/oracle/.bash_profile

添加

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

 

使用rlwrap

[oracle@pbr-svr1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 19 10:04:50 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$sga;

NAME                                          VALUE
---------------------------------------- ----------
Fixed Size                                  2217952
Variable Size                            2483030048
Database Buffers                          838860800
Redo Buffers                               16343040

使用向上键可调回最后执行的命令,按左右键光标在字符间来回切换,按Enter键重新执行或修改后按Enter键执行,可达到与Bash中相同的操作环境。

SQL> select * from v$sga;

NAME                                          VALUE
---------------------------------------- ----------
Fixed Size                                  2217952
Variable Size                            2483030048
Database Buffers                          838860800
Redo Buffers                               16343040

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值