我如何完全编译要分发的bash项目



我试图将bash项目编译成可分布的二进制文件。我尝试了SHC,它起作用了,除了我所有的source陈述都打破了。我有许多source语句可以保持代码基础清洁剂,但是用shc编译时会破碎。我如何汇编我的bash项目,以便最终用户只能拥有一个文件?

,而不是拥有一堆.sh文件?

shc是一个混蛋,而不是编译器。归根结底,它仍然调用/bin/sh或其他任何东西,并将其馈送给您的原始脚本。您的脚本实际上没有什么想法。如果它需要一个额外的文件来源,则必须在适当的位置提供。

您可能想调查Shar之类的事情。构建无政府状态,然后使用SHC进行编译。

听起来您所缺少的只是扩展所有source语句的设施。如果您的代码库在使用这些陈述时相当一致,那应该很容易编写:只需编写一个脚本即可扩展它们,然后将其扩展。

另外,只需将所有脚本放入一个zip文件或tarball中,并告诉用户提取该文件的内容,或者如果太多,我确定您可以想象一种编码zipped的方法在主文件底部的所有非墨包括文件的内容中,所有非墨包括件文件都在巨大的评论中,并在继续之前提取所需的内容。

或者,您知道,将适当的安装程序用于系统。为RHEL或DEBIAN软件包或Windows MSI或其他构建RPM。

相关内容

  • 没有找到相关文章