makeを使用してシェルスクリプトを実行可能なバイナリにコンパイルする

makeを使用してシェルスクリプトを実行可能なバイナリにコンパイルする

シェルスクリプトをバイナリファイルに変換することは可能ですが、それを解読するための明確でよく知られshcたツールがあります。だから私はこれを行うための別の方法を探したいと思います。

シェルスクリプトを実行可能なバイナリに変換することもできると聞きましたが、私が見つけたすべてのmakeサイトは、Linuxでシェルスクリプトを実行可能なバイナリに変換するshc方法を知っていますか?make

答え1

論理的には、シェルスクリプトは実行時に新しいシェル構文をさまざまな方法で注入できるため、バイナリにコンパイルすることはできません。たとえば、変数リテラルから新しいコマンドを生成し、コンパイルせずにexecそのsourceコマンドを実行します。修正されました)。

shcはバイナリを生成しますが、何もコンパイルしません。任意のキーでシェルテキストファイルをエンコードし、それをファイルに挿入します。実行可能ファイルが実行されると、テキストをデコードして目的のシェルにパイプします。

答え2

誰もこれを知りません。不可能。

makeビルド自動化ツールです。ソフトウェアの構築プロセスを自動化しますが、ソフトウェアの実際の構築は依然としてコンパイラや他の構築ツールによって行われます。したがって、目的のタスクを実行するツール(たとえばshc)を見つけた場合それからあなたはできますオートメーションソフトウェア、コード、またはシェルスクリプトを独自にコンパイルしませんmakemakeシェルスクリプトなどの他のコマンドを呼び出すだけです。

関連情報