Можно ли установить сценарий оболочки в качестве приложения по умолчанию в OSX? - PullRequest
1 голос
/ 07 марта 2012

Можно ли установить исполняемый файл 'unixy' (например, скрипт оболочки) в качестве приложения по умолчанию в OSX?

(Приложение по умолчанию для открытия документов некоторых типов / типов, например текстовых документов.)

Полагаю, это механизм запуска, отличный от событий AppleScript; который я считаю нормальным способом запуска.

Может быть, можно просто удалить сценарий оболочки с установленным флагом + x в обычную структуру пакета .app и установить это приложение по умолчанию; и тогда он передал бы имя файла в качестве аргумента скрипту.

1 Ответ

1 голос
/ 08 марта 2012

Нашли решение: запустить инструмент редактора AppleScript.Напишите некоторый код для запуска терминала и оттуда запустите скрипт.

Или вставьте это туда:

    on open (documentsToOpen)
        openInXcode(documentsToOpen)
    end open

    to openInXcode(documentsToOpen)
        tell application "Terminal"
            repeat with theDocument in documentsToOpen
                set theDocumentName to POSIX path of theDocument
                set theScript to "echo " & theDocumentName
                do script theScript
                set theScript to "open -a Xcode " & theDocumentName
                do script theScript
            end repeat
        end tell
    end openInXcode

Открытие в XCode отчасти избыточно, но это всего лишь пример того, что вы можете сделать в сценарии оболочки.Сохранить как приложение.

Существует недостаток, как он написан: новое окно терминала остается позади (если, конечно, вы не продолжите запускать скрипт «навсегда»).

Кроме того, кажется, что необходимо выкопать Info.plist и добавить уникальный «идентификатор пакета» для приложения, сохраненного инструментом AppleScript, чтобы список LaunchServices мог связывать файлы с этим приложением.

...