我们已经习惯 了linux下面的tab补全,快捷键等,python下面也可通过简单的脚本完成此功能,然而当在oracle的sqlplus,以及expect,tclsh等命令行下面别说快捷键了,退格键,方向键都不可以使用,实在是难受。

rlwrap是一个wrapper,它接收我们输入的命令并交给我们指定的程序去执行,同时使用GNU readline库提供命令行编辑功能并且记录命令历史

1.安装


wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz
tar xf rlwrap-0.37.tar.gz
cd rlwrap-0.37 && ./configure && make && make install

2.设置别名

echo "alias expect='rlwrap expect'" >> /root/.bashrc
echo "alias tclsh='rlwrap tclsh'" >> /root/.bashrc
echo "alias sqlplus='rlwrap sqlplus'" >> /root/.bashrc
source .bashrc

实际上rlwrap将我们输入的命令都保存到了HOME目录中的一个隐藏文件中,以此提供命令历史。这个文件的命名与我们要执行的程序相关,比如使用rlwrap包裹sqlplus,则命令历史文件是.sqlplus_history