bashで複数コマンドをエイリアスに仕様としたら詰んだ。
もともとこんなのを作ってた。
alias runMKKN='cd ~/Dropbox/docRoot/mkkn2013;php -S localhost:9100 -t public'
わざわざcd
するのはbashのプロンプトメッセージのため。要するに;
で区切れば複数コマンドをaliasに登録できる、そう思っていた。
んで次にmkdir
したらまぁ大抵はcd
するよねぇと思って、
alias mkcd='mkdir $1;cd $1'
ってしたら動かない。謎。
とりあえず以下の形で解決
function mkcd() {
mkdir $1;
cd $1;
}
alias mkcd=mkcd
参考はITのハキダメ: [bash] cdと同時にlsするエイリアスコマンド
なんで'mkdir $1;cd $1'
がダメなのかは結局さっぱりわからずじまい。