Следующая команда,
osascript -e 'tell app "terminal" to do script ("idevicesyslog -u UUID | tee 'ios_syslog.txt'")'
(где UUID - это жестко идентифицированный идентификатор устройства) отлично работает в терминале. Он открывает новое окно и запускает скрипт, но когда я передаю его через вызов API .Net CORE, я получаю вышеуказанную синтаксическую ошибку.
Даже просто osascript -e 'tell app "terminal" to do script ("idevicesyslog")'
выходит из строя с той же ошибкой.
есть идеи?
terminal
applescript
command-line
MidiGlitch
источник
источник
osascript -e 'tell application "Terminal" to do shell script "..."'
и там, где вы используете одинарные кавычки,'ios_syslog.txt'
вам, возможно, придется их избежать, например,\'ios_syslog.txt\'
и я не могу проверить, потому что у меня нет той же среды, что и у вас.Ответы:
РАБОТА Вокруг: я решил проблему, поместив вышеупомянутое в Applescript и вызвав скрипт из C #. Имелось ввиду необходимость добавления в проект файла не .Net, который можно редактировать только на Mac (насколько я знаю). Сценарий:
Сценарий был вызван с использованием System.Diagnostics.Process и передачей osascript.exe и двух аргументов в конструктор ProcessStartInfo.
источник