Friday, 21 April 2006
zsh
去年の3月から、zsh に乗り換えました。UTF-8サポートがないのは知っていたんだけど、tcsh に、そろそろ我慢できなくなって来て。遅すぎるっていう説もある。Mac OS X/Linux のdefault のbash にしなかったのは、「bash のソースを読んだことがあるから」。絶対に使わないと決意しました。が、/bin/sh は bash なので、そういう決意は意味がない。
で、zsh 4.3.2 を --enable-multibyte でcompileして、晴れて、UTF-8 conscious に。うれしいです。特に、日本語ファイルの listing と completion が出来るのは幸せ。
.zshenv が常に読まれて、.zshrc がinteractive な時に読まれて、login shell では、.zprofile なのね。それはわかりやすい。それだけで、tcsh から逃げる理由だと思う。
300page の巨大なdocumentを読むのは苦痛だったが、「ま、風邪ひいて寝てるときの読み物として面白かった」ってのが当時の感想らしい。
alias history="fc -l -d -$HISTSIZE"
で時間表示できるってあたりを探すのに一苦労。でも、grep hoge **/* とか出来るのはやっぱりうれしい。
tcsh がダメな理由
function がない。致命的だと思う。
foreach とかの multi line command の編集が出来ない。バグだろ?
シェル変数の展開で空白が悪さをする。言語としての設計がだめだめ。
特に条件式。a"$file" != a みたいなのが出るのは嫌。
条件式の能力が低すぎ。
sh/bash との構文の違いが大きすぎる。といって、C に近いわけでもない。
bash がダメな理由
実装が汚すぎ。見えなきゃ良いってものでないだろ?
tab で、file name completion が出来ない。(いや、出来るんだろうけど)
limit がない。(なんだよ〜)
job control が怪しい。あのソースなら、そりゃそうだろ。
multi line command を畳んで編集させるのは反則。
シェル変数の展開で空白が悪さをする。(tcsh と同じ)
|& がない。$file:r がない。$file:t がない。(まぁ、代わりの方法はあるけどさ)
学生がどれを使うかは自由だが、tcsh から始めるのが、むしろ、逃げ出す楽しみみたいなのがあって良いのかな。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment