32 zsh に慣れたい

csh で次のようなエイリアスを使っていた。
alias   cco     'gcc -O -o \!^:r \!*'

cco prog1.c prog2.c -L/opt/X11/lib -lX11 とかすると、 gcc -O -o prog1 prog1.c prog2.c -L/opt/X11/lib -lX11 を実行してくれる、そういうエイリアスである。

その場限りの書き捨てプログラムでは、単に cc でコンパイルして、 ./a.out で実行とする方が、 実行形式が上書きでなくなるのでゴミが増えなくて良い、という考え方もあるかも。

何回もコンパイルする場合は、Makefile 書いちゃう方が実は楽、 ということも多いし。


ともあれ、同じことを zsh でするにはどうすれば良いか?

こんな感じかな。
alias cco='(){gcc -O -o $1:r $@}'

エイリアスでなく、関数として定義すべき、という意見があるとか。
cco () { gcc -O -o $1:r ${@} }



桂田 祐史