Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题

  使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 10g的RHEL4.2的机器,linux使用的shell是默认的bash。

  在bash提示符下,使用Del键或者Backspace键都能删除光标左右的字符,但是一旦进入sqlplus之后,只能使用Del键来删除光标左侧的字符,使用Backspace键则显示^H,使用ctrl+H也能删除字符。如果要在sqlplus下仅仅使用Backspace来删除字符,那么有两种方法:

  第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到Linux用户的.bash_profile文件中。修改后必须执行 . .bash_profile使用命令生效。

  第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的任何一个,并确保另一个不被选中。

  此二种方法即可解决backspace出现乱码问题。

  另一个问题是bash下的sqlplus中使用上下箭头无法显示上一个和下一个命令,而只是显示^[[A。为便于复制可以在SecureCRT中进行设置,在Global Options->Terminal的Mouse部分,选中Copy on select,并设置Paste on middle(right) button。

但是这样依然只能显示最近的一条命令,而不能显示更多的历史命令。在Linux下如果需要实现上下翻阅命令的话需要安装其他的工具,rlwrap就是一个。

  rlwrap 的安装使用[SQL中上下键使用

  今天在论坛上看到了rlwrap工具,感觉很好,我把总结发一下。

  在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行. 然而,当在Linux Shell中运行SQL*Plus的时候,并不提供浏览历史命令行的功能. 为了在Linux中达到同样的目的,你可以安装rlwrap,这个程式本身是个Shell,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能.The rlwrap program is under the GPL license.

  一:安装readline

  OS的安装光盘里提供了readline包(在安装包的centos/rpms目录下,有两个以readline开头的包).

  [root@oracle11g ~]# rpm -Uvh readline*

  error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm

  [root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm

  [root@oracle11g ~]# rpm -Uvh readline*

  package readline-5.1-1.1 is already installed

  [root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm

  二:安装rlwrap

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

  [root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz

  [root@oracle11g ~]# cd rlwrap-0.30

  [root@oracle11g rlwrap-0.30]# ./configure

  [root@oracle11g rlwrap-0.30]# make

  [root@oracle11g rlwrap-0.30]# make install

  [root@oracle11g rlwrap-0.30]# 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>

  -F <format string> --history-format=<format string>

  -h --help

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

  -i --case-insensitive

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

  -n --no-warnings

  -p[ANSI colour spec] --prompt-colour[=ANSI colour spec]

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

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

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

  -r --remember

  -v --version

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

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

  bug reports, suggestions, updates:

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

  [root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile(该文件

  在你所安装的oracle目录下可找到。

  alias sqlplus='rlwrap sqlplus'

  alias rman='rlwrap rman'

  
  解决在sqlplus下输错命令后正常删除的方法

  [oracle@oracle11g ~]$ vi /home/oracle/.bash_profile

  添加stty erase ^h

Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题,rlwrap 的安装。的更多相关文章

  1. vim学习笔记(12):在vim中修改文件编码,解决vim 打开乱码

    在linux 中查看文件编码可以通过以下几种方式: 一.查看文件编码 1.查看文件编码file命令 :file ip.txt ip.txt: UTF-8 Unicode text, with esca ...

  2. linux:终端常用命令 + vi命令修改文件及保存 方法

    首先介绍一下Ubuntu下各个目录的一般作用: /  这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...

  3. ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?(图文详解)

    不多说,直接上干货! 问题详情 ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?  解决办法 是由于预装的vim软件没更新,运行   sudo apt-get install vi ...

  4. linux下vi命令修改文件及保存的使用方法

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename :打开文件,并将光标置于一行首 v ...

  5. vi命令修改文件及保存的使用方法

    简单点:vi文件名,按"I"进入insert模式,可以正常文本编辑,编辑好之后按“esc”退出到“命令模式”,再按“shift+:”进入“底行模式”, 按“:wq”保存退出! 还一 ...

  6. (转)linux下vi命令修改文件及保存的使用方法

    进入vi的命令         vi filename :打开或新建文件,并将光标置于第一行首    vi n filename :打开文件,并将光标置于第n行首    vi filename :打开 ...

  7. vi命令——修改文件内容

    以下内容转载自http://blog.csdn.net/bruce0532/article/details/7842384 vi编辑器是所有Unix及Linux系统下标准的编辑器,介绍一下它的用法和一 ...

  8. ubuntu vi编辑器上下左右为ABCD的解决办法

    这个ubuntu系统自带的vi版本太老导致的,所以解决办法就是安装新版的vi编辑器: 首先卸载旧版本的vi编辑器: $sudo apt-get remove vim-common 然后安装新版的vi: ...

  9. Linux系统vi编辑器提示E325: ATTENTION的解决方法

    非正常关闭文件会报这样的警告信息, 原因是系统产生了一个.swp的文件. 删除就行了.(前提是确认.swp文件没用了.) 例如: rm -f /etc/.shadowsocks.json.swp 详情 ...

随机推荐

  1. iOS高德地图使用-搜索,路径规划

    项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法.耗了一番功夫,总算实现了. 效果 WeChat_1462507820.jpeg 一.配置工作 1.申请key 访 ...

  2. 基于jQuery的新浪游戏首页幻灯片

    分享一款基于jQuery的新浪游戏首页幻灯片,带左右箭头,选项卡缩略图,自动轮播切换的jQuery幻灯片代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br>& ...

  3. MATLAB实现多元线性回归预测

    一.简单的多元线性回归: data.txt ,230.1,37.8,69.2,22.1 ,44.5,39.3,45.1,10.4 ,17.2,45.9,69.3,9.3 ,151.5,41.3,58. ...

  4. 基于opencv+Dlib的面部合成(Face Morph)

    引自:http://blog.csdn.net/wangxing233/article/details/51549880 零.前言 前段时间看到文章[1]和[2],大概了解了面部合成的基本原理.这两天 ...

  5. Java编程的逻辑 (38) - 剖析ArrayList

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  6. H2O中的随机森林算法介绍及其项目实战(python实现)

    H2O中的随机森林算法介绍及其项目实战(python实现) 包的引入:from h2o.estimators.random_forest import H2ORandomForestEstimator ...

  7. Linux/Unix下的任务管理器-top命令

    Windows下的任务管理器虽然不好用(个人更喜欢Process Explorer些),但也算方便,可以方便的查看进程,CPU,内存...也可以很容易的结束进程 没有图形化界面下的Linux,也有命令 ...

  8. hive和hbase区别和联系

    作者:有点文链接:https://www.zhihu.com/question/21677041/answer/185664626来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  9. Android Studio xcode单步调试 WebRTC Android & iOS

    mac环境 如何在 Android Studio 里单步调试 WebRTC Android 的 native 代码. WebRTC 代码下载 depot tools 是 chromium 代码库管理工 ...

  10. [hadoop读书笔记]译者序

    一.并行数据库系统 新一代高性能的数据库系统,是在MPP和集群并行计算环境的基础上建立的数据库系统. MPP:大规模并行处理计算机:Massive Parallel Processor.指的是一种处理 ...