Lua os.execute返回值

Cyc*_*one 34 lua shellexecute

是否可以从Lua中的局部变量中读取以下内容?

local t = os.execute("echo 'test'")
print(t)
Run Code Online (Sandbox Code Playgroud)

我只是想实现这一点:无论通过什么执行ox.execute并将返回任何值,我想在Lua中使用它 - 例如echo 'test'test在bash命令行中输出- 是否可以获得返回值(test在这种情况下)到Lua局部变量?

Lil*_*ard 74

你可以io.popen()改用.这将返回一个文件句柄,您可以使用该句柄来读取命令的输出.以下内容可能有效:

local handle = io.popen(command)
local result = handle:read("*a")
handle:close()
Run Code Online (Sandbox Code Playgroud)

请注意,这将包括命令发出的尾部换行符(如果有).

  • @Cyclone:类似`os.execute(command ..">/tmp/foo")`(其中`/ tmp/foo`被一个实际的有些独特的路径所取代,但你要计算它). (6认同)