0

我有一个调用 shell 命令的 perl 脚本,它在 cygwin 中运行。

前任

cat a.txt | egrep $a

目前我需要将其转换为 EXE 并运行 win 7。我使用 perl2exe 将其转换为在安装的 cygwin 上运行良好。这在没有安装 cygwin 的情况下不起作用。

有什么方法可以将脚本转换为 exe 并在没有 cygwin 帮助的情况下运行。

提前致谢

4

2 回答 2

2

您的问题是 perl2exe 和 PAR::Packer 都会包装 perl 的东西,但不会(默认情况下)将您的 bash shell 和人造 linux 环境全部包装到一个小的 .exe 文件中。您也许可以强制它吞下 cygwin.dll + bash.exe + cat.exe + egrep.exe 并将它们组合成一个可运行的整体。祝你好运。

作为替代方案,您是否考虑过自己阅读文件(以替换 cat 的功能)并将其内容发送到

  1. egrep 的 Windows 特定(非 cygwin)端口(仅 1 个额外的 .exe,而不是 3 个)
  2. 在 perl 中实现您需要的 egrep 功能的子集。
于 2013-04-23T20:14:30.210 回答
0

看看PAR::Packer

它将 Perl 解释器和所有必需的模块打包到一个可执行包中。

于 2013-04-23T08:00:27.420 回答