cd を置き換える

Command-line-fu より。
Redefine the cd command's behavior Using cd
これは俺も似たようなことをやっているなぁ。
俺の場合は

function cd()
{
  builtin cd $* && ll
}

なんだけどね。
cd の次に ll を打つことが多くて、cd を置き換えられないのかなー、でもそうしたらもとの cd はどうやって呼べるのかなー、とか考えていたら、builtin で区別できることが判明してこれを書き加えた次第。


別の解決法としては chpwd() を使う手もある。これはカレントディレクトリが変化するたびに呼ばれるもの。
こっちの方が目的に適しているように見えるんだけど、例えば一つのディレクトリに大量のファイルがあることがわかっていて、それを ll なんてすると非常にうざいなー、というときでもかまわず ll してしまうのが難点。
その点、上記の方法の場合は例えば builtin cd huge-dir とかすれば防げるし、あるいは autocd が設定してあれば単に huge-dir で ll 無しで移動できるし。
そんなわけで俺は上記の方法をおススメします。