如何在 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 返回三个值:success、reason、code。当 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 中运行可执行文件并获取其返回值?的主要内容,如果未能解决你的问题,请参考以下文章