Яблочный скрипт истекает при запуске терминала
У меня есть скрипт, в котором мне нужно запустить исполняемый файл из терминала
сценарий как ниже
tell application "Terminal"
activate
set run_cmd to "sudo <path to my executable>"
do script run_cmd
end tell
но это время ожидания с сообщением об ошибке
error "Terminal got an error: AppleEvent timed out." number -1712
Я даже пытался использовать тайм-аут, как
с таймаутом 5000 секунд
tell application "Terminal"
activate
with timeout of 5000 seconds
set run_cmd to "sudo <path to my executable>"
do script run_cmd
end timeout
end tell
но не повезло, это все еще тайм-аут...
Такое поведение наблюдается иногда, не всегда. Я использую El Capitan Mac OS.
У меня есть шанс протестировать Sierra и High Sierra, и там все работает хорошо.
Любая идея, как мы можем решить эту проблему?
Примечание: если я открою терминал перед запуском этого скрипта, он будет выполнен без проблем.
заранее спасибо
1 ответ
Как насчет того, чтобы попробовать что-то вроде этого...
tell application "Terminal" to launch
repeat while application "Terminal" is not running
delay 0.2
end repeat
tell application "Terminal"
activate
set run_cmd to "sudo <path to my executable>"
do script run_cmd
end tell