【发布时间】:2013-07-13 01:00:35
【问题描述】:
我正在将一些插件从 Linux 迁移到 Windows。
插件是使用Perl 编写的,它有一个名为system() 的函数,可以执行shell 命令。
但我现在正在迁移到 Windows。有什么方法可以在 windows 中使用 system() Per 函数运行 linux 命令?
一些Perl Module 对此有用吗?
【问题讨论】:
我正在将一些插件从 Linux 迁移到 Windows。
插件是使用Perl 编写的,它有一个名为system() 的函数,可以执行shell 命令。
但我现在正在迁移到 Windows。有什么方法可以在 windows 中使用 system() Per 函数运行 linux 命令?
一些Perl Module 对此有用吗?
【问题讨论】:
您可以运行system() 命令,但有一些注意事项。 Using system or exec safely on Windows 中有一个很好的描述。本文产生了Win32::ShellQuote 模块。
【讨论】:
awk 不适用于 system。这是一个shell命令,Windows不会理解。
您想在 windows shell 中运行 linux 命令 vie Perl?如果是这样,请尝试使用 Cygwin (www.cygwin.com) 之类的 Linux 环境。否则,您还必须迁移系统调用。
【讨论】:
awk 无法与系统一起使用。这是一个shell命令,Windows不会理解。它没有运行任何像 Cygwin 这样的 windows unix 转换器。它是其他系统读取的插件。那个时候仍然是Windows。用perl我们可以做点什么吗?
system(awk '{ if($9 == "t4") print $0;}' myfile.txt )
system(bash -i -c 'your script')?