TL;DR Если я создаю .app с помощью Automator, как я могу отобразить результаты сценария оболочки в диалоговом окне или окне терминала?
Я использую Automator для запуска сценария оболочки
adb install /Directory/$1.apk
и если я запускаю его через Automator, я вижу результаты (успешная установка или не могу найти filname.apk или что-то еще, что мне скажет терминал). Если я сохраню как приложение и дважды щелкну для запуска, я не увижу эти результаты.
Что я могу сделать, чтобы отобразить диалоговое окно или окно терминала, в котором будут отображаться результаты запуска сценария?
Есть несколько способов сделать это:
$1
в поле сообщения .osascript -e 'tell app "System Events" to display dialog "$1"'
. Вам нужно будет выбрать в качестве аргумента в раскрывающемся списке ввода прохода .$1
с помощью любого из этих методов.echo something
, и оно определенно работает. Возможно, ваш скрипт что-то не возвращает?adb
(часть SDK для разработчиков Android), потому что после запуска этой команды в терминале есть вывод, но не через сценарий автомата.Если у вас есть только несколько строк вывода , вы хотите присвоить их переменной, а затем отобразить диалоговое окно подтверждения, показывающее вывод.
output
Это будет выглядеть так:
NB: Я тоже попробовал этот $1
подход, но не преуспел.
Если у вас много строк вывода , вы должны направить весь вывод в новый документ TextEdit. Для этого просто добавьте действие «Новый документ TextEdit» после действия сценария.
Это может выглядеть так:
Подсказка: диагностические сообщения часто выводятся в стандартную ошибку. Чтобы также собирать текст, отправляемый в стандартную ошибку, добавьте exec 2>&1
в начало сценария bash.
on run {input, parameters}
display dialog input
end run
display dialog
является частью стандартных дополнений в AppleScript , и в этом случае нет абсолютно никакой необходимости tell application "System Events" to
.
Роберто