ac#ソースファイルがあります。#!/ usr / bin / env monoのようなものを配置して、コンパイルして実行可能ファイルとして実行する方法はありますか?
たとえばPythonの場合、次のようにします。
#!/usr/bin/env python
実際、私が欲しいのは、コンパイル後に「monothe.exe」を呼び出さずにスクリプトを実行することです。「./the.exe」のようなものが欲しいです。
編集:単一のソースファイルに対して、つまり単一のソースファイルに対してこれを実行したいことに気づきました。csharp
これは、Monoに同梱されているREPLによってほぼサポートされています。ただし、REPLはシバン行を理解せず、プリプロセッサ定義と見なすため、構文エラーを吐き出します。私が誤解していて、コンパイルされたアセンブリについて話していた場合でも、以下のテキストが適用されます。/編集
Monoによって生成された.exeファイルはWindowsと同様に、PE実行可能ファイルであるため、シバンを使用することはできません。スクリプトではなく、CILが含まれています。
ただし、実行して使用する小さなシェルスクリプトを作成するか、ここでmono your.exe
概説するように、Linuxカーネルのbinfmtsサポートを使用することができます。
(コンパイルされた)モノラルプログラムのインタプリタとしてupdate-binfmts
登録できるかもしれません。mono
update-binfmts --display
出力に次のようなものが含まれているかどうかを確認してください。
cli (enabled):
package = mono-common
type = magic
offset = 0
magic = MZ
mask =
interpreter = /usr/bin/cli
detector = /usr/lib/cli/binfmt-detector-cli