shell脚本的编译器

mfr*_*man 6 compiler-construction bash

你知道是否有任何编译bash脚本的工具?

只要翻译结果可以编译,该工具只是一个翻译器(例如,将bash脚本转换为C程序的东西)并不重要.

我正在寻找类似shc的东西(这只是一个例子 - 我知道shc不能用作编译器).还有其他类似的工具吗?

Ste*_*n C 6

谷歌搜索带来了CCsh,但它会让你在每台机器上获得50美元的许可证.

文档说CCsh将Bourne Shell(不是bash ...)脚本编译成C代码,并且它理解如何复制50个奇数标准命令的功能,避免了fork它们的需要.

但CCsh不是开源的,所以如果它不能满足您的需求(或期望),您将无法查看源代码来找出原因.

  • 这个程序看起来很有趣,但确实提出了"你想要完成什么?"的问题,我应该在答案中提出这个问题.如果这看起来像你想要的那样,更好的选择可能是用另一种语言重写bash脚本(C如果你绝对需要速度,C++,如果你需要速度和内置功能之间的良好平衡,Perl/Python如果只有你真正需要的性能提升并不是要求每个命令等等) (2认同)

Chr*_*utz 1

我认为您不会找到任何东西,因为您无法真正“编译” shell 脚本。您可以编写一个简单的脚本,将所有行转换为对 的调用system(3),然后将其“编译”为 C 程序,但这不会比您当前使用的任何程序有重大性能提升,并且可能无法正确处理变量。不要这样做。

“编译” shell 脚本的问题在于 shell 脚本只调用外部程序。