如何捕获lua中的编译器错误?
我正在尝试使用lua在tmux面板中获取comp编译器错误的输出 执行脚本时,结果仅显示在当前面板中,而不显示在第二个面板中 / tmp / output文件始终为空
cmd=io.popen("go build -gcflags=-e scree.go")
f=io.open("/tmp/output")
f:write(cmd:read("*all"))
for line in f:lines() do
os.execute("tmux run-shell -t 2 'echo " .. line .. "' ")
end
f:close()
有什么方法可以不使用临时文件吗?
答案 0 :(得分:0)
我对此不太清楚。但是也许像下面这样。即通过stderr进行stdout并捕获结果(未经测试)。
f = assert (io.popen ("go build -gcflags=-e scree.go 2>&1"))
for line in f:lines() do
os.execute("tmux run-shell -t 2 'echo " .. line .. "' ")
end
f:close()
我认为关键是popen不会捕获stderr。查看有关该here
的更多详细信息