我想将bash
命令的输出分配给.lua
脚本中的变量。有可能吗?
例如,类似于:
var = `ps uax | grep myprocess`
答案 0 :(得分:2)
是的,您需要使用io.popen
。
io.popen(prog [,mode])
在一个单独的进程中启动程序prog并返回一个文件句柄,您可以使用该句柄从该程序读取数据(如果mode是" r",默认值)或将数据写入此程序(如果模式是" w")。
此功能取决于系统,并非在所有平台上都可用。
另见How to execute an external command?。
io.popen调用一个命令但返回一个文件对象,这样你就可以读取命令的输出,如果第二个参数是' r',你也可以将输入传递给一个带有秒的命令'w'的论点。不幸的是,你没有获得io.popen2,而且你没有得到返回码。