vi编辑器修改文件.bash_profile可解决backspace出现 ^H 乱码问题:  
使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 的LINUX的机器,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使用命令生效。

######################################################################################################
[oracle@rtest ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=TEST0422
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH
PATH=$PATH:$HOME/bin
export PATH

stty erase ^H
~
~
".bash_profile" 20L, 395C written                                                                                                             
[oracle@rtest ~]$ . .bash_profile
######################################################################################################

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

######################################################################################################
######################################################################################################

Logo

更多推荐