痔になりやすい生活習慣とは?

C言語のコンパイルの際、
gcc -Wall -o xxx xxx.c
と入力する手間を省きたいので、rcファイルに
function gcc () {
gcc -Wall -o "$1%.c" "$1"
}
としているのですが、
gcc xxx.c を実行するとターミナルが落ちてしまいます。
何がいけないのでしょうか。
%.c は、 .cを除く目的で使っています。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>gcc.c%.c



そのあたりは確認済みなのかと思ってました。zshはあまり知りませんが、bash だと、
"${1%.c}"
ですね。多分同じでは?
    • good
    • 0
この回答へのお礼

手取り足取りありがとうございました。
おかげさまで無事思い通りの結果が得られました!

お礼日時:2014/12/07 00:39

自分自身を呼び出すように書いてあるので、無限に再帰呼び出しを続けるからですね。

スタックがあふれた時点でzshが異常終了します。

function gcc () {
/usr/bin/gcc -Wall -o "$1%.c" "$1"
}

などとして、関数の中から関数自分自身を呼び出さないようにします。

この回答への補足

ありがとうございます!
確かにgccは行われるようになりました!
しかし、例えば
gcc test.c を行うと

gcc.c%.c
というファイルが出来てしまい、末尾の.cを除く部分がまるで機能していません。
どうすれば良いかご存知でしたら教えていただきたいです。

補足日時:2014/12/06 21:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング