Oracleをreadlineに対応させる(rlwrap)

入力の履歴やBackSpaceに対応していなくて入力にイライラするCUIアプリケーションのお悩み解決!
すべてのCUIアプリケーションに対応可能。rlwrapに続いて通常のコマンドを入力するだけ。

$ rlwrap sqlplus user/pass@orcl

本家
http://utopia.knoware.nl/~hlub/rlwrap/
インストールは通常通り、./configure; make: make install;。

REHL/CentOSRPMはないみたいだが、Fedora ExtrasにあるらしいのでRPMでインストールしたい場合は(って普通そうだよね)そこから持ってきたらよいかも。
http://www.e-tsuyama.com/cgi-bin/blog/ms.cgi?blogid=20
CentOS5 = RHEL5 = Fedora Core 6 だから(イコールじゃないけど)、Fedoraの... と思ったらこんなもの発見。

http://www.rpmfind.net/linux/rpm2html/search.php?query=rlwrap

これ使ってみよう。

CentOS5(x86_64)を使っているのでel5.x86_64を選択。

$ wget ftp://194.199.20.114/linux/EPEL/5/x86_64/rlwrap-0.30-1.el5.x86_64.rpm
$ sudo rpm -ivh rlwrap-0.30-1.el5.x86_64.rpm
$ which rlwrap
/usr/bin/rlwrap

使ってみる。

$ rlwrap ruby
p 'hello rlwrap!'
p 'hello rlwrap!'
p 'hello rlwrap!'
"hello rlwrap!"
"hello rlwrap!"
"hello rlwrap!"

rlwrap: Oops, segfault -  this should not have happened!
If you need a core dump, re-configure with --enable-debug and rebuild
Resetting terminal and cleaning up...

Ctrl-Dでruby的には正常終了しているのにrlwrapでエラーが起きているっぽいのがイマイチだなぁ。
でも、便利!


参考
http://doruby.kbmj.com/8y/20090526/readline_