文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux sqlplus 命令回调

linux sqlplus 命令回调

时间:2010-10-26  来源:marvinoracle

linux sqlplus 命令回调 以及后退键的乱码解决

当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能。相反的,在Windows操作系统上,当在DOS命令窗口中运行 SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句。你可以 根据需要修改他们,然后按[Enter]重新提交执行。
  为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能。 The rlwrap program is under the GPL license。
  1:安装
  rlwrap-0.28.tar.gz下载地址:http://utopia.knoware.nl/~hlub/uck/rlwrap/
  1):解压缩安装文件
  [oracle@mylinux ~]$gunzip rlwrap-0.28.tar.gz
  [oracle@mylinux ~]$tar xvf rlwrap-0.28.tar
  2):切换到root用户,执行下面的命令
  [root@mylinux ~]# cd /home/oracle/rlwrap-0.28
  [root@mylinux rlwrap-0.28]# ls
  aclocal.m4 completions configure INSTALL README TODO
  AUTHORS config.h configure.ac Makefile src tools
  bash30-005.patch config.h.in COPYING Makefile.am stamp-h1
  BUGS config.log distribution Makefile.in test
  ChangeLog config.status doc NEWS test.log
  [root@mylinux rlwrap-0.28]#./configure
  [root@mylinux rlwrap-0.28]#make
  [root@mylinux rlwrap-0.28]#make install
  2:使用
  $ rlwrap [-options] <command> <args>
  [oracle@mylinux ~]$ which rlwrap
  /usr/local/bin/rlwrap
  [oracle@mylinux ~]$ rlwrap sqlplus / as sysdba
  SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 18 10:31:11 2007
  Copyright (c) 1982, 2005, Oracle. All rights reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  With the Partitioning, OLAP and Data Mining options
  SQL> select * from v$sga;
  NAME VALUE
  -------------------- ----------
  Fixed Size 1219856
  Variable Size 121635568
  Database Buffers 310378496
  Redo Buffers 7168000
  -- 使用向上键调回最后执行的命令,按[Enter]重新执行或修改后按[Enter]执行
  SQL> select * from v$sga;
  NAME VALUE
  -------------------- ----------
  Fixed Size 1219856
  Variable Size 121635568
  Database Buffers 310378496
  Redo Buffers 7168000
  另外rlwrap还有很多选项可以设置
  eg:
  ?l, ??logfile file
  Append command’s output (including echo’ed user input) to file (creating file when it doesn’t exist).
  测试如下
  [oracle@mylinux ~]$ rlwrap -l benbotest.log sqlplus / as sysdba
  SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 18 10:34:50 2007
  Copyright (c) 1982, 2005, Oracle. All rights reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  With the Partitioning, OLAP and Data Mining options
  SQL> select * from v$version;
  BANNER
  ----------------------------------------------------------------
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
  PL/SQL Release 10.2.0.1.0 - Production
  CORE 10.2.0.1.0 Production
  TNS for Linux: Version 10.2.0.1.0 - Production
  NLSRTL Version 10.2.0.1.0 - Production
  SQL> exit
  Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  With the Partitioning, OLAP and Data Mining options
  [oracle@mylinux ~]$ cat benbotest.log
  [rlwrap] Wed Jul 18 10:34:50 2007
  SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 18 10:34:50 2007
  Copyright (c) 1982, 2005, Oracle. All rights reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  With the Partitioning, OLAP and Data Mining options
  SQL> select * from v$version;
  BANNER
  ----------------------------------------------------------------
  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
  PL/SQL Release 10.2.0.1.0 - Production
  CORE 10.2.0.1.0 Production
  TNS for Linux: Version 10.2.0.1.0 - Production
  NLSRTL Version 10.2.0.1.0 - Production
  SQL> exit
  Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  With the Partitioning, OLAP and Data Mining options
  [oracle@mylinux ~]$
  当然,如果嫌每次敲rlwrap不爽,可以在/etc/profile或者自己的~/.bashrc里面添加alias sqlplus='rlwrap sqlplus'。其他发行版的朋友可以选择rpm包或者干脆从源码自己编译。
  其它选择参考manpage.
  相关资源:
  rlwrap-0.28.tar.gz (150 k) http://utopia.knoware.nl/~hlub/uck/rlwrap/
  The manpage http://utopia.knoware.nl/~hlub/uck/rlwrap/man.html
  The README file http://utopia.knoware.nl/~hlub/uck/rlwrap/README.txt
  CHANGES http://utopia.knoware.nl/~hlub/uck/rlwrap/CHANGES.txt


##################################我是分割线####################################

那么关于后退键的乱码问题 解决如下

stty erase ^H


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载