suffix aliasでファイル1つのコードをコンパイル
深夜に「ファイル1つのコードをコンパイルするのがめんどくさい」
という話を書きました。
これをtwitterに展開したところ、「僕はsuffix aliasでやってる」 という情報を頂きました。ありがとうございますm(__)m
調べてみると、想像以上に便利。
suffix aliasを使うとコンパイルから実行までこうなる
$ ls hello.c $ ./hello.c Hello world. $ ls hello hello.c
./hello.c
と打ち込むだけでコンパイル
、実行
を一気やってくれるようにできます。
これはいい :-)
設定は.zshenv
か.zshrc
にfunction
とalias -s
を追加するだけ
function run_c() { EXECUTABLE=`echo $1|sed -e s/.c$//` gcc -Wall -Wextra $1 -o ${EXECUTABLE} shift ${EXECUTABLE} $@ } alias -s c=run_c
実行ファイルなんていらないんじゃ
という方は/tmp
に一定の名前で吐き出してあとから消すとか...?
function run_c() { EXECUTABLE=/tmp/a.out gcc -Wall -Wextra $1 -o ${EXECUTABLE} shift ${EXECUTABLE} $@ rm -f ${EXECUTABLE} } alias -s c=run_c
suffix alias
で検索するといろんなサイトが出てくるので、詳細はそちらで。
2/14 14:04 追記
run_c()のsedを修正