Как я могу использовать сценарий bash в качестве службы в OS X без необходимости настраивать его через автоматизатор? Я бы хотел написать скрипт bash, сохранить его в ~/Library/Services, а затем просто показать его в меню services. Мысли?
3 ответа
ThisService немного более оптимизирован, чем Automator:
Встроенное меню сценариев также можно использовать для запуска сценариев оболочки:
Его можно включить из утилиты AppleScript - «Настройки» - «Показать скрипт» в строке меню. Включает файлы в ~/Library/Scripts/ и, опционально, /Library/Scripts/. Вы не можете назначить ярлыки - это основная причина, чтобы использовать FastScripts вместо.
Некоторые приложения для назначения ярлыков: osx - привязать ключ к команде командной строки в Mac OS X? - Супер пользователь.
Вы должны рассмотреть попробовать FastScripts. Это похоже на правильное меню скриптов в OS X, включая сочетания клавиш для быстрого доступа.
Я не знаю, как сделать это напрямую. Помимо Automator, вы также можете использовать XCode для создания оболочки AppleScript для вашего скрипта, который будет работать как Сервис.
Использование сценария напрямую более проблематично. Насколько я понимаю, это должен быть комплект приложений, а затем ему нужны конкретные записи в его Info.plist
сообщающие системе, какую службу он предлагает. Первое может быть сделано с Утконосом ; для последнего используйте редактор списка свойств в XCode (или plutil
и редактор XML, если вам не нравится играть непосредственно с XML), чтобы создать ключ NSServices
.
Это оставляет довольно большой вопрос о том, как вызвать его; сообщение Objective-C создан из NSServices
ключа NSMessage
не собирается быть понято непосредственно оболочкой, и это выглядит как утконос не есть способ получить его либо. Я подозреваю, что это означает написание пользовательской оболочки в Objective-C.