时间:2021-05-24
PS:近来因工作需要业余在学习oracle,发现通过SecureCRT或putty等SSH客户端远程登录Linux下oracle的sqplus时,输错字符后按Backspace键或Del键删除时,会出现^H或其他乱七八糟的的字符,感觉非常别扭不习惯,虽然可以通过Ctrl+Backspace组合键实现删除功能,但是严重影响使用效率。google了一番,终于完美解决此问题。总结记录如下,本文是此问题最完整的总结:
乱七八糟的字符如图:
一、SecureCRT终端里的解决方法:(不完美)
在SecureCRT终端里,如果要在sqlplus下使用Backspace来删除字符,有两种临时方法。
第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行stty erase ^H,也可以把这一句放到oracle用户的.bash_profile文件里。
stty命令简介:
Unix或者Linux中有个stty命令,它的作用是打印或更改terminal(终端)的设置。
常用参数:
-a --all 用人类可读表格,打印出所有现有设置
-g --save 用stty可读表格,打印出所有现有设置
--help 帮助
--version 版本
查看当前stty现有设置,如图:
第二种是使用SecureCRT的设置,在会话属性的Terminal->Emulation->Mapped Keys中,选中Backspace sends delete或Delete sends backspace中的其中一个,并确保另一个不被选中。
另一个问题是bash shell下的sqlplus中使用上下箭头无法显示上下命令,而只是显示^[[A,这个问题可以安装rlwrap这个工具解决!
二、利用rlwrap工具解决方法:(完美)
1、安装rlwrap和readline库
CentOS下可以用EPEL的yum源直接安装,步骤如下:
(1)RHEL/CentOS/SL Linux 6.x 下安装 EPEL6 yum源:
32位系统选择:
64位系统选择:
导入key:
默认会在/etc/yum.repos.d/下创建epel.repo和epel-testing.repo两个配置文件。
(2)安装rlwrap和readline:
其他Linux发行版如果源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。
# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz# tar zxvf readline-6.2.tar.gz# cd readline-6.2/# ./configure# make# make install# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz# tar zxvf rlwrap-0.37.tar.gz# cd rlwrap-0.37/# ./configure# make# make install(3)设置sqlplus的系统别名:
在头部或尾部添加:
alias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'退出oracle用户再重新登录就ok。现在sqlplus用起来就很爽很习惯了!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.按键字符错乱或无效。按下FN+INS键来尝试解决问题。 问题解决-->数字小键盘开启。 问题未解决-->查杀病毒。 问题解决-->病毒问题引起。
gedit中文乱码问题解决,windows下的文档在linux下乱码问题解决:打开终端输入以下命令:复制代码代码如下:gsettingssetorg.gnome
cygwin在Windows8.1中设置ssh的问题解决为了在Windows8.1上直接使用Linux环境和hadoop开发,装了cygwin,同时设置ssh无
Linux下IP设置脚本的实例及遇到问题解决办法背景一个Javaweb项目有一个功能是IP修改,Linux的IP修改脚本如下:#!/bin/bash#usein
在家里windows环境下搞了一次见pythonMySQLdb在windows环境下的快速安装、问题解决方式在公司开发需要,再搞一次,linux下的。发现用编译