LUA 通过 Cygwin 在 Windows 7 x64 中使用 pipe - os.execute

首先,我是一个编程新手,尤其是对于 Linux。在 Ubuntu 上,我已经成功地将此字符串管道传输到 netcat 服务器: echo bla bla bla | nc -w 2 192.168.1.10 43333

Lua 程序使用以下代码实现此功能:

runcommand = "echo " .. bla .."" .. bla .. "" .. bla .. " | nc -w " .. 2 .. " " .. (IP) .. " " .. (Port) .. " ";

os.execute(runcommand);

我想让它在 Windows 7 上以相同的方式运行,于是我在 Windows 7 机器上安装了 Cygwin。将此字符串复制粘贴到 Cygwin 上可以正常工作。

但是,我如何从 Windows 中的 Lua 程序发送此代码?我猜我试图直接将此字符串发送到 Cygwin,但是在这种 Lua 代码下它不起作用(os.execute 命令也无效)

请问有人可以指点我如何做吗?

1)我需要在 Windows 上安装什么以使其生效(Lua 库 / Linux 库等)

2)我需要如何更改我的 Windows 机器上的 Lua 代码来实现这一切

3)我是否忽略了任何其他显而易见的事情

谢谢!

点赞
用户1847592
用户1847592

这对我起作用:

c = [[cd /d C:\cygwin\bin && bash.exe -c "cd /cygdrive/c && /bin/ls | /bin/wc"]]
print(io.popen(c):read'*a')   -->      17      22     194
2016-04-19 15:38:21