Cプログラムをシェルスクリプト風に利用する Linuxメモ

 LinuxでちょっとしたC言語のテストプログラムを書いて利用したい場合があります。この際に「ソース編集→ビルド→実行」という手順を踏むのですが、これをシェルスクリプトのように実行したいと思い、以下の様なスクリプトを作成してみました。

---- cscript.sh.c --------------------
#if 0

# ビルド
echo build start...
gcc $0
echo build end.

# テスト実行
echo test start...
./a.out
echo test end.

# Cソースを処理しないように終了します
exit
#endif
//	ここまでシェルスクリプト

//	ここからCプログラム
#include 
int main(void)
{
	printf("Hello, C world!\n");
	return 0;
}
---- cscript.sh.c ここまで------------

---- 実行結果 ------------------------
> sh ./cscript.sh.c
build start...
build end.
test start...
Hello, C world!
test end.
---- 実行結果 ここまで----------------

 先頭でプログラム指定を行っていないスクリプトなので、実行属性を追加して直接実行はできません。シェルプログラムに引数でファイルを指定する形式で実行する必要がありますが、なんとなくシェルスクリプト風に利用できています。

 上記は「C言語ソースを含むシェルスクリプト」ですが、「perlを含むbatファイル」や「gif画像に見えるjavascript」等もあるようです。
 気になった方は色々探してみてはいかがでしょうか。

--
2013/10/10