我正在做一个项目,在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