Automator: «Запустить сценарий оболочки» выдает ошибку из-за отсутствия команды «on»

OSX 10.11.4 здесь.

Я пытаюсь создать рабочий процесс для использования с горячей клавишей, чтобы запустить простой сценарий оболочки.

Создано с помощью: Automator -> New Service -> Utilities -> Run Shell Script, затем установите «без ввода» в «Finder», а для оболочки установите «/ bin / bash».

Для тривиального сценария, скажем, не содержащего ничего, кроме «ls», это работает.

Но пока я получаю ошибки только для сценария, который я действительно хочу запустить, который включает вызов «в работе», что, похоже, вызывает проблемы. После небольшой отладки я могу свести это к следующему:

on run {input, parameters}

end run

приводит к ошибке:

Run Shell script failed - 1 error
-: line 2: on: command not found

Я подумал, что это может быть связано с отсутствующим путем, поэтому я уже пытался работать над этим, например, добавив:

PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH

или:

PATH=/usr/bin:/usr/local/bin export PATH

как предложено здесь . Не помогло.

Также обратите внимание: у меня установлена ​​Anaconda, которая, похоже, изменила путь в .bash_profile. Опять же, я даже не уверен, что среда bash, вызванная автоматом, просматривает .bash_profile.

Есть идеи, что попробовать дальше?

Ответы (1)

on run {input, parameters}является синтаксисом AppleScript, а не допустимой командой оболочки. Если вы хотите выполнить AppleScript в службе, используйте действие «Выполнить AppleScript» вместо «Выполнить сценарий оболочки».

Гм... это стоит "D'oh!". Спасибо! Отмечено как отвеченное.