**如何在LUA中运行可执行文件并获取其返回值?**

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

原文链接 https://stackoverflow.com/questions/69658963

点赞
stackoverflow用户107090
stackoverflow用户107090

在 Lua 5.2+ 中,os.execute 返回三个值:_success_、_reason_、_code_。当 reason"exit" 时,您需要 _code_。

2021-10-21 11:12:05
stackoverflow用户11740758
stackoverflow用户11740758

你可以使用 os.execute() 的三个返回值中的一个来有条件地决定要做什么。

以下示例在交互式 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 -- 来自:else 返回 rc
> do local bool,stat,rc = os.execute('true') if bool then return rc else return rc end end
0 -- 来自:then 返回 rc
2021-10-24 15:11:58