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だけでできるよ?」とか「こういうコマンドあるよ?」いうことがあれば教えて下さい・・・。