在LUA中读写输出命令

时间:2019-02-26 09:41:50

标签: lua popen

我正在做一个项目,在lua中我称之为服务。 在该服务中,我执行命令。然后,我将命令的输出写入文件。 然后至少我阅读了整个文件,并从中取出了1行。

现在我开始对其进行编程,但是我认为我有一个非常奇怪的错误。

当我使用popen执行命令时,没有输出将发送到文件。但是我看到命令被执行了。当我第二次popen。然后我们将输出写入文件。但是这里有问题,我不想执行两次命令。

所以主要的问题是。我该如何修正我的代码,以便脚本将输出写入文件,然后读取每一行。只有一个popen。

这是我的代码:

    services.CreateVirtualDesktop = function(me, headers, query, data)  
--  local handle = io.popen("sudo -u pi tightvncserver")
  file = io.open("/home/pi/OutputVncCommand.txt","w")
  handle = io.popen("sudo -u pi tightvncserver")
  output = file:write(handle:read("*all"))
  handle:close()
  io.close(file)

   files = {}
   f = assert(io.open("/home/pi/OutputVncCommand.txt","r"))
  if not f then return files end 
        local k = 1
    for line in f:lines() do
    files[k] = line
    k = k + 1
  end
  f:close()
  return 200,files[8]
end

0 个答案:

没有答案