我已经研究过lua中的打开/启动文件,但是每篇文章都给了我dofile()这样的函数来返回/运行文件状态/内容,而不是实际打开/启动文件。在我的场景中,我有一个.hta文件,我试图通过lua开始,我在技术上想知道的是,如果lua有一个类似批处理命令的函数" start",它启动一个文件,如果没有任何方法可以从lua文件向控制台发送命令?如果有人能帮助我,我会非常感激。
答案 0 :(得分:3)
您要找的是os.execute()。它允许您在操作系统shell中运行命令:
local code = os.execute("ls -la")
if code ~= 0 then
print("Something when wrong while running command")
end
如果您还想捕获已执行命令的输出并在Lua代码中使用它,您可以使用io.popen():
local f = assert(io.popen("ls -la", 'r'))
local output = assert(f:read('*a'))
f:close()
print(output)
请注意,io.popen()并非在所有系统上都可用。