3

Как я могу использовать сценарий bash в качестве службы в OS X без необходимости настраивать его через автоматизатор? Я бы хотел написать скрипт bash, сохранить его в ~/Library/Services, а затем просто показать его в меню services. Мысли?

3 ответа3

4

ThisService немного более оптимизирован, чем Automator:

thisservice


Встроенное меню сценариев также можно использовать для запуска сценариев оболочки:

Скрипты меню сценариев

Его можно включить из утилиты AppleScript - «Настройки» - «Показать скрипт» в строке меню. Включает файлы в ~/Library/Scripts/ и, опционально, /Library/Scripts/. Вы не можете назначить ярлыки - это основная причина, чтобы использовать FastScripts вместо.


Некоторые приложения для назначения ярлыков: osx - привязать ключ к команде командной строки в Mac OS X? - Супер пользователь.

1

Вы должны рассмотреть попробовать FastScripts. Это похоже на правильное меню скриптов в OS X, включая сочетания клавиш для быстрого доступа.

0

Я не знаю, как сделать это напрямую. Помимо Automator, вы также можете использовать XCode для создания оболочки AppleScript для вашего скрипта, который будет работать как Сервис.

Использование сценария напрямую более проблематично. Насколько я понимаю, это должен быть комплект приложений, а затем ему нужны конкретные записи в его Info.plist сообщающие системе, какую службу он предлагает. Первое может быть сделано с Утконосом ; для последнего используйте редактор списка свойств в XCode (или plutil и редактор XML, если вам не нравится играть непосредственно с XML), чтобы создать ключ NSServices .

Это оставляет довольно большой вопрос о том, как вызвать его; сообщение Objective-C создан из NSServices ключа NSMessage не собирается быть понято непосредственно оболочкой, и это выглядит как утконос не есть способ получить его либо. Я подозреваю, что это означает написание пользовательской оболочки в Objective-C.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .