スクリプトコンパイラ

2017/03/31


概要

ある処理をユーザにさせたいが、処理の内容は見せたくない。
「プログラムを作ればよかろう」と思うのだが、 などいろいろな事情がある。できれば追求しないでほしい。

インストール

Debian8Linux(Jessie)に標準パッケージとして便利なツールが用意されている。
apt-get install shc -y

使ってみる

sampleをコンパイルすると実行可能ファイルsample.xが生成される。
sampleからC言語化したソースsample.x.cが生成される。
実行環境が現環境と異なる場合は、クロスコンパイラでsample.x.cをコンパイルする。
#スクリプトsampleを作る
echo '#!/bin/bash' > sample
echo 'echo "The quick brown fox jumps over the lazy dog."' >> sample
chmod 755 sample

#sample.shを実行
./sample

#sample.shをコンパイル
shc -f sample

#ロードモジュールsample.xを実行
./sample.x

1行スクリプト

1行スクリプトならshcに直書きしてもいい。
#スクリプトaを作る
echo '#!/bin/bash' > a
shc -x 'ls -la' -f a
./a.x