如何 运行 一个可执行文件并在 LUA 中获取它的 return 值?

How to run an executable and get its return value in LUA?

我正在尝试 运行 使用 os.execute() 的可执行文件,但是,我需要知道它的退出值,无论是 0 还是其他。有什么建议吗?

在Lua5.2+,os.executereturns三个值:成功原因 , 代码。当 reason"exit".

时,您需要 code

您可以使用 os.execute() 的三个 returns 之一来有条件地决定要做什么。
此示例在交互式 Lua 控制台会话的 do end 块中演示它...

$ /usr/local/bin/lua
Lua 5.4.3  Copyright (C) 1994-2021 Lua.org, PUC-Rio
> do local bool, stat, rc = os.execute('false') if bool then return rc else return rc end end
1 -- From: else return rc
> do local bool, stat, rc = os.execute('true') if bool then return rc else return rc end end
0 -- From: then return rc