将bash脚本编译为Windows可执行文件

时间:2011-08-11 22:47:57

标签: windows bash compilation

我有一个原本为Linux制作的脚本,但适合在Windows中运行Cygwin,如果你已经有可执行文件(sh,cp,mv等),那么你可以在没有Cygwin的情况下运行它。唯一的问题是该脚本还使用了几百个(是数百个)其他可执行文件。有没有什么办法可以将这个脚本编译成常规可执行文件并将这些其他支持文件打包为资源?

脚本长约1600行,这可能太长了,无法在C ++中手动重新实现。我希望将脚本编译成windows可以执行的东西,而不必编辑包含一堆第三方可执行文件的路径。一种包含所有这些的方法。

4 个答案:

答案 0 :(得分:2)

我怀疑你所考虑的解决方案是可行的。

相反,我会修改脚本,这样它所做的第一件事就是找出所有数百个可执行文件的位置。然后适当地设置$PATH,或者通过其完整路径名调用每个。{/ p>

或者您可以安装一个安装程序,在指定的或用户选择的位置安装可执行文件,然后重新生成脚本(从输入文件中),以便它知道可执行文件的位置。运送the-script.in,然后安装程序执行文本替换以从the-script生成the-script.in

答案 1 :(得分:1)

我指出:

RPMSHC

作为您问题的可能解决方案。也许这个工具可以帮助你完成这项工作。

答案 2 :(得分:0)

使用SHC到Cygwin可以编译bash到exe 好。真的很老,但我一直在寻找它,并决定做我自己并公之于众。 http://goo.gl/M1NSY

答案 3 :(得分:0)

使用所需工具的端口并使用一些应用程序虚拟化工具将其打包。 Cameyo是免费的。忘记Cygwin,那就是huuuge:)