Lua Mac os.execute 打开终端并运行命令

我需要在 Lua 中使用 os.execute 打开 Mac 终端并运行一些命令

export VAMP_PATH=/path/to/plugin/directory
cd /path/to/script
./sonic-annotator -l

编辑:通过以下方式不使用终端成功运行

os.execute('export VAMP_PATH="'..script_path..'sonic/mac64/vamp"; cd "'..script_path..'sonic/mac64/"; ./sonic-annotator -d vamp:qm-vamp-plugins:qm-barbeattracker:beats -w csv "'..filename..'"')
点赞
用户2836621
用户2836621

回答您实际的问题,您可以打开终端并运行一些 bash 命令,例如:

os.execute("osascript -e 'tell application \"Terminal\" to do script \"cd /Users/mark && ls\"'")

但是,正如我在评论中所说,您不一定需要终端来运行脚本,因此,您可以直接运行像这样的命令:

os.execute("export V=fred; cd /Users/mark && ./SomeScript.sh")

如果您只是想让用户看到脚本的输出,通常最简单的方法是运行命令并将结果导出到 open -f,像这样可以在文本编辑器中显示输出:

os.execute("cd /Users/mark; ls | open -f")

enter image description here

2020-05-26 10:28:35