linux - Mono 框架 shebang linux

标签 linux bash mono shebang

我有一个 C# 源文件。有没有什么办法可以放置类似#!/usr/bin/env mono 的东西,这样它就会被编译然后作为可执行文件运行:

以python为例,我会这样做:

#!/usr/bin/env python

事实上,我想要的是在编译后运行脚本而不调用“mono the.exe”。我想要类似“./the.exe”的东西。

最佳答案

编辑:我刚刚注意到您想对单个源文件执行此操作——对单个源文件。 Mono 附带的 csharp REPL 几乎支持这一点。然而,REPL 吐出一个语法错误,因为它不理解 shebang 行并将其视为预处理器定义。如果我误解了你说的是编译后的程序集,下面的文字仍然适用。 /编辑

您不能使用 shebang,因为 Mono 生成的 .exe 文件是 PE 可执行文件,就像在 Windows 上一样。它们包含 CIL,而不是脚本。

您可以做的是生成一个运行 mono your.exe 的小 shell 脚本并使用它,或者您可以使用 Linux 内核的 binfmts 支持,如概述 here .

关于linux - Mono 框架 shebang linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233395/

相关文章:

c# - .NET/C# Drizzle 数据库客户端

linux - Freeradius 不响应客户端 - 忽略对身份验证地址的请求...未知客户端

linux - 使用 'make xconfig' 从源代码编译内核的脚本

c# - Monodevelop启动时出现异常: TypeInitializationException

linux - 新的文件监控脚本

bash - while 循环中的文件复制仅执行一次

c# - 应用程序输出仅显示一个简单的 Hello World

php - 从 php 执行 bash 脚本来执行 jar

python - UnicodeDecodeError : 'utf8' codec can't decode byte 0x9c

linux - 在 bash 脚本中循环调用 api