Cのコンパイル
gccがあれば簡単にできますね。
$ gcc hoge.c -o hoge
恐らく、元のfile.cから、拡張子.cを抜いたものをコンパイル後のファイル名とするかと思います。
もう形式は決まっているんですよね。
ファイル名を変えることも全然有りですが、コンパイル後のファイル名とか変えても分かりづらいだけですし、そんな事わざわざしませんよね。
じゃあわざわざ gcc hoge.c -o hoge なんて書くのめんどくさくね?
コマンド一発でコンパイルしようぜ
なので、コマンド一発でコンパイルできるようにします。
コマンドがなければ作ればいいじゃない。
いじくるのは、ホームディレクトリにある ~/.bash_profile か、もしくは /etc/profile.d の配下にシェルスクリプトを作ります。
これはサーバの1ユーザとして使うか、全ユーザが使えるようにするかによって変わってくるかと思います。
1ユーザとして使う場合は、下記を ~/.bash_profile に追記します。
全ユーザが使えるようにするには、 /etc/profile.d 配下に適当に compile.sh でも作ってそこに下記を入力してください。
compile(){
out=`echo $1 | awk -F '.' '{print $1}'`
gcc $1 -o ${out}
}
一応説明しておきます。
$1 は引数です。元になるCのファイルですね。
それを awk に掛けます。
区切り文字の認識を .(ドット) にし、一つ目のフィールドを抜き出しています。
ファイル名が hoge.c だとしたら、フィールドの一つ目が hoge で、二つ目が c になります。
抜き出した hoge を変数 out に入れます。
その後に gcc コマンドで、元の引数 hoge.c を、先ほど抜き出した hoge で出力しています。
入力したら下記を実行してください。
$ source /etc/profile
これで、 compile という名の自作コマンドが使えます。
$ com ←[Tab]キーを2度押す
combinedeltarpm command compile complete-ant-cmd.pl
comm compgen complete compopt
compile が候補として出てくるのが確認できます。
あとはこれでコンパイルするだけです。
$ ls
test.c
$ compile test.c
$ ls
test test.c
これだけです。
因みに私はgccコマンドをよく知りません。
「gccだけでできるよ?」とか「こういうコマンドあるよ?」いうことがあれば教えて下さい・・・。