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 ${@} }
 |