Lua Ma c os.execute открыть терминал и запустить команду - PullRequest
1 голос
/ 25 мая 2020

Мне нужно открыть терминал Ma c и запустить несколько команд с os.execute в Lua

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

EDIT: заставить его работать без терминала с этим

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 Ответ

2 голосов
/ 26 мая 2020

Чтобы ответить на ваш фактический вопрос, вы можете запустить Терминал и запустить в нем некоторые 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...