psh - interactive shell with the power of perl
※ psh はログインシェルまでこなせちゃう shell です。Perl をインタラクティブに使いたいという、当初の目的からは外れそうです。
川o・-・)<2nd life - perl でインタラクティブなシェルを実現する perlsh
とか見て入れてみっかーと思って Debian etch(4.0) で似たような感じの名前を探してみたところ、
$ apt-cache search readline | grep perl
libenv-ps1-perl - prompt string formatter
libterm-readline-gnu-perl - Perl extension for the GNU Readline/History Library
libterm-readline-perl-perl - Perl implementation of Readline
librarieslibterm-readline-zoid-perl - Pure Perl implementation of Readline libraries
てな感じ。でもやはり perlsh コマンドとやらはインストールされない。cpan から入れているわけじゃないし、ソース展開して deploy なんていやなのねんと思い、気分を変えて FreeBSD の方で
$ make search key=perlsh | grep ^Path
Path: /usr/ports/shells/perlsh
キター。ここで Makefile を読むと
MAN1= psh.1 \
pshcomplete.1 \
pshconfig.1 \
pshdevel.1
おや? psh ?
改めて
$ apt-cache search psh | grep perl
libpdf-api2-perl - provides the functions for creating PDF documents in Perl
psh - interactive shell with the power of perl
おっ。
apt-get install psh
$ psh
psh% File::Glob::<TAB>
AUTOLOAD bootstrap
GLOB_ALPHASORT bsd_glob
GLOB_BRACE constant
GLOB_CSH csh_glob
GLOB_ERROR doglob
GLOB_NOMAGIC glob
GLOB_QUOTE import
GLOB_TILDE
おぉ。豪快に補完される。
ステキ。
※ OSX 10.3 + PPC の環境では cpan からインストールしたあとに .cpan/build/psh-1.8 内で make install した。これで合ってるのかどうかよく分からないけど動いてる。Term::Readline::Gnu はコンパイルにコケるので、Term::Readline::Perl にした。
あーれー? なんか普通のコマンドも補完するな。んー? なんか思っていたのと違う?