这个问题困扰了我很长时间,因此我决定着手尝试解决这一问题。经过几番努力我终于找到了一种可行的解决方案,因此我觉得有必要把它分享出来,希望对大家能够有所帮助。
在Linux shell下运行读取标准输入的命令行工具时(内部使用的是“readline”库),使用UP和DOWN箭头键不能选择前一个历史命令。同样,使用LEFT和RIGHT箭头键以及HOME和END键也不能在当前文本行各部分间移动,从而使得在提交命令之前更改错误非常地不方便。
作为一名JavaEE和WebLogic用户,我需要以交互模式使用WLST或SQLPlus之类的工具分别操作WebLogic域或修改Oracle数据库模式,因此在这些操作过程中感到很头疼。rlfe这个小巧的工具可以完美地帮助我们解决问题,可以从 此处 下载。
安装好这个工具之后,在shell中运行“wlst.sh”或“sqlplus”之前先敲入以下命令:
> rlfe
并按下回车键。然后,在相同的shell中运行WLST或SQLPlus,这时交互模式的工作方式将会如您所愿。您可以按UP键转到前一个命令执行它,您也可以按下LEFT键在文本行中进一步返回从而便于更正错误。
对于Ubuntu用户来说,这个工具包含在标准通用存储库中。要安装它,只需运行以下命令:
> sudo apt-get install rlfe
同样,为了避免在运行程序之前忘记运行“rlfe”,可以为程序使用一个别名以确保程序总是以“增强的”文本输入模式运行。比如说,可以将以下文本添加到~/.bashrc:
alias sqlplus='rlfe sqlplus'
然后,无论何时在命令行中运行sqlplus,它都会以所需的模式运行。
原文出处:http://dev2dev.bea.com/blog/pdone/archive/2007/07/wlst_and_sqlplu.html