shell
最近、ちょっと環境の問題で音楽制作ができていない日々が続いているのだが、こうなると本当に Windows を起動する機会が減ってしまう。Steinberg CUBASE が Linux 上で動作して、ASIO をがっちりと Linux 上で扱えるならば、僕にとって Microsoft Windows というものの存在意義はゼロである。今の手持ちの VSTe / VSTi が使えなくなってもいいのだったら、早々に Mac に鞍替えしていてもいいはずだ。Mac OS X 上で生きていくことになったとしても、最近はMacPortsというものがあるし。
で……、時々聞かれることがある:「Linux、Linux って仰ってますけど、日常生活で必要なことに Windows がないと困るじゃないですか」否。web ブラウズは何も支障ないし、メールはどのみち Emacs 上で Mew を使うんだし、Microsoft Office なんて、余程必要のあるときしか使わない。これだって、plain text で書くか OpenOffice.org で書くかして、職場の Office にインポートしてフォントを揃える位しかすることはない。ああ、そうそう。あと一つだけ困るのは iTunes だなあ。まあ、MacOS の端末がひとつあればそれで済む話だし、それに手元の iPod だっていずれはiPodLinuxで使う日が来るかもしれない。
と、こんな話をしても Windows に慣れ親しんだ人々は納得しない。僕は、正規表現、ヒストリ、そしてヒストリの強力な検索・編集機能を有する shell は GUI に勝るんだ、という説明をさせられるはめになるわけだ。
いいですか、ここにファイルが100個あったとしますよね。で、そのファイルが 001 〜 100 という数字のファイルネームがついているとしましょう。もしこのファイルより古いファイルが36個見つかって、001 を 037 に、100 を 136 にしなきゃならないとして、Windows でそういうときはどうするんですか。ブラウザでひとつひとつファイル名を書き換えるんですか?もし僕だったらバッチファイル書いてやりますけどね、結局それって shell で CUI 使うってことじゃないですか。だから、GUI でマウスでやるから便利だというものでもないんだ、って、思いませんか?
……とか、書いて再現しているだけで腹が立ってきた。あー面倒だな。まあこういう人は放置するんだろう。でも、僕も shell に関しては少々困ったことがないわけでもない。僕が初めて触った UNIX は SunOS 4.1.1 だったから、標準の shell は csh だった。程なく NeXTSTEP を触るわけだけど、これの上でも csh だった。pure な csh というのは、実はあまり快適なものではない。勿論、エイリアスとかヒストリにおいては、Bourne Shell より優れていたわけだけど、僕が UNIX を使い出して程なく、世間では tcsh が流行り出して、僕も tcsh を使っている時期が長かった(ちなみに現在は専ら bash を使っております)。けれど、インタラクティブなユーザインターフェイスとして以外の shell としては、僕は早々に csh 系に見切りをつけたのだった。パイプとかリダイレクトとかを使い出したとたん、csh の挙動は僕にとって恐怖の対象になったからだ。少し経ってから、恐る恐る情報系の友人(彼は丁度その頃に Korn Shell に鞍替えして、へーコーンシェルねーあの頭のトンガってるやつでしょ、いやそれぁコーンヘッドだよ、とか下らない話をしていたのだったが)にこのことを聞いて、あーそれはね……と説明を受けて、あー俺はそんなに変なことを考えていたんじゃないんだ、と安心したのを今も覚えている。
で、まだ学生のときのこと。僕自身が強く必要になったわけではないのだけど、ひょんなことから、密度汎関数法というものをするために、自分の端末を使うことがあった。日本の材料科学の世界では、京大の足立裕彦名誉教授(当時はまだ教授だったけど)の開発されたDV-Xαという手法が非常に高い信頼をおかれていて、僕も研究会に入ってソースを入手した。で、インストールしようかなあ、と思って見てみると、DOSで散々ヤクザなことをしなければならないようになっている。こちとら貧乏研究者で、商用の FORTRAN なんて買えなかったので、当然のように f2c(当時は g77 もまだ信頼性が確立しておらず、当然 gfortran なんて存在しなかった)でやろうとしていたのだけど、あーそれなら UNIX 上でできるようにスクリプト整えたのがありますよ、と紹介されて、見てみたら、全部 csh script で書かれていて、天を仰いだ、なんてことがあったのだった。ビル・ジョイと某研究者に呪いの言葉を吐きながら、Bourne Shell に書き換えて、その後他のことでバタバタしていたので、結局これを DV-Xα 研究会にフィードバックしていない。就職してから、足立氏のグループが初学者向けの本にソースを CD-ROM で添付して出版していたけれど、あれの中に入っているのも、僕が呪った csh script のままのはずだ。
考えてみたら、その前にmxdorto使ったときも、たしか NeXT の absoft FORTRAN compiler でコンパイルしようとしたら COMMON 文のエラーが洪水みたいに出て、端末室で泣きながら書き直したんだった(今さっき Intel Fortran でコンパイルしたらなんと no error ! ただ do 文とかがどうも少しアヤしいような気もするなあ……ぶるぶるぶる、いや僕ぁもう書き直しませんよええ、そんな子犬みたいな目で見られても)。なんだか、僕の人生、こんなことばっかりのような気がしてきて、暗澹たる気分になってくるのだけど……なんだかなあ。