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

时间:2020-05-25 20:46:30

标签: macos lua

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

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..'"')

1 个答案:

答案 0 :(得分:2)

要回答您的实际问题,可以启动终端并在其中运行一些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