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

Posted

技术标签:

【中文标题】如何在 LUA 中运行可执行文件并获取其返回值?【英文标题】:How to run an executable and get its return value in LUA? 【发布时间】:2021-12-08 00:58:39 【问题描述】:

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

【问题讨论】:

由于您专门只要求提供退出值,我不确定它是否重复,但请查看***.com/questions/132397/… 【参考方案1】:

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

【讨论】:

【参考方案2】:

您可以使用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 -- 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

【讨论】:

以上是关于如何在 LUA 中运行可执行文件并获取其返回值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Lua 运行可执行文件?

如何编译一个lua可执行文件?

命令与如何获取命令帮助

怎样把.lua编译成.exe可执行文件(详细点!最好附图)

如何在同一部 iPhone 中获取两个不同版本的可执行文件?使用 Xcode

创建独立的 Lua 可执行文件