質問: zshrcのfunctionの作り方 c言語のコンパイルの際、 gcc -wall -o xxx xxx.c と入力する手間を省きたいので、rcファイルに function gcc () { gcc -wall -o "$1%.c" "$1" } としているのですが、 gcc xxx.c を実行するとターミナルが落ちてしまいます。 何がいけないのでしょうか。 %.c は、 .cを除く目的で使っています。
回答: 自分自身を呼び出すように書いてあるので、無限に再帰呼び出しを続けるからですね。スタックがあふれた時点でzshが異常終了します。 function gcc () { /usr/bin/gcc -wall -o "$1%.c" "$1" } などとして、関数の中から関数自分自身を呼び出さないようにします。