2021年4月

Lua有两种执行系统命令的方法:os.execute, io.popen

os.execute 返回的是命令执行的状态,一共返回3个值。
第一个值是truenil, true表示命令成功执行完,否则返回nil
第二个值是exit时,表示正常终止,第三个值表示退出的状态码。
第二个值是signal时,表示信号终止,第三个值表示终止的信号。

例如

> os.execute("pwd")
true exit 0
> os.execute("pwdx")
nil exit 127

io.popen 启动一个新进程执行命令,并返回一个文件句柄,可以使用该文件句柄读取返回的数据。
例如,或通过这个方法获得文件列表

local f = io.popen("ls")
print(f:read("*a")