Показати результати команди Automator-Terminal


9

TL; DR Якщо я створюю .app через Automator, як я можу відобразити результати скрипту оболонки у діалоговому вікні чи термінальному вікні?

Я використовую Automator для запуску сценарію оболонки

adb install /Directory/$1.apk

і якщо я запускаю його через Automator, я бачу результати (встановлення вдале або неможливо знайти filname.apk або будь-який інший термінал, який би мені сказав). Якщо я збережу як додаток і двічі клацніть для запуску, я не отримаю цих результатів.

Що я можу зробити, щоб відобразити діалогове чи термінальне вікно, яке б відображало результати запущеного сценарію?


Я використовував це питання, щоб створити це: github.com/robertocaldas/AdbInstallService
Роберто

Відповіді:


2

Є кілька способів зробити це:

  • Додавання дії " Запитати підтвердження" після виконання сценарію запустити оболонку та використання $1у полі повідомлення .
  • Додавання іншого сценарію запуску оболонки та виконання osascript -e 'tell app "System Events" to display dialog "$1"'. Вам доведеться вибрати як аргумент на спадному вході проходу .

8
Він просто відображається $1одним із цих методів.
Рід

@Jakar Я перевірив це, виконуючи перші дії сценарію Run Shell Script,echo something і це, безумовно, працює. Можливо, ти Сценарій щось не повертає?
Текафремо

Добре. Я думаю, що це може мати щось спільне adb(частина розробника Android SDK), тому що в Terminal є вихід після запуску цієї команди, але не через сценарій автоматизатора.
Рід

Незначна модифікація для обробки рядка інтерполяції osascript -e «сказати додаток" Системні події "в діалоговому вікні відображення" "" $ 1 "" ""
bingles

21

Якщо у вас є лише кілька рядків виводу , ви хочете призначити його змінної, а потім відобразити діалогове вікно підтвердження, що показує вихід.

  1. додати дію "Встановити значення змінної"
  2. введіть нову змінну, наприклад output
  3. додати дію "Попросити підтвердження"
  4. у поле повідомлення введіть назву змінної, заявлену вище. Під час введення імені змінної, Automator запропонує доповнити ім’я змінної. Прийняти, натиснувши клавішу Enter. Це заважає Automator інтерпретувати ім'я змінної як звичайне текстове повідомлення.

Це буде виглядати приблизно так: Автоматизатор з виведенням тексту

NB: Я також спробував $1підхід, але не досяг успіху.

Якщо у вас багато рядків виводу , вам слід направити весь результат у новий документ TextEdit. Для цього просто додайте дію "Новий документ TextEdit" після дії сценарію.

Це може виглядати приблизно так: Нова дія документа для редагування тексту

Підказка: діагностичні повідомлення часто виводяться на стандартну помилку. Щоб також збирати надсилання тексту до стандартної помилки, додайте exec 2>&1вгорі вашого скрипту bash.


1
вау саме те, що мені потрібно!
code4j

1
це рішення працювало для мене, тоді як прийнята версія не була
Іліас Карим

це було дуже корисно для мене і пояснило, чому я не можу отримати значення результату. чудова робота
CommentLuv

Чи можна це змінити, щоб відкрити документ Text Mate ?
Грег

1

Потрібно використовувати "Встановити значення змінної"

введіть тут опис зображення


Спокусився спростувати, тому що це лише дублікат відповіді Даніеля К, за винятком менше інформації ...
adfaklsdjf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.