Ответы:
Способ сохранения сценария оказывает большое влияние на его работу в Mac OS X. Похоже, ваш сценарий просто сохраняется как сценарий, и именно поэтому редактор сценариев открывается при каждом его открытии.
Чтобы решить проблему, откройте скрипт в редакторе AppleScript и сохраните его как приложение. Это должно к хитрости.
Шаги есть (в редакторе)
Файл> Сохранить как>, затем выберите Формат файла для приложения, затем сохраните.

При сохранении скрипта вы можете выбрать «Приложение» из выпадающего меню «Формат файла»; тогда вы сможете запустить его, и вы все равно сможете перетащить его в редактор скриптов, чтобы открыть скрипт; или вы можете выбрать Run Only, чтобы не сохранять редактируемую версию.
Кроме того, вы можете использовать osascriptкоманду в терминале, либо как, osascript /path/to/scriptлибо osascript -e "a short script here".
Вы также можете поместить скрипт в папку ~ / Library / Scripts / Finder / и запустить его прямо из меню Script.
Другой способ - создать Сервис в Automator, который использует osascriptкоманду для запуска .scpt в Finder.
(Я не использую Automator на английском языке, поэтому формулировка может быть неточной)
В поле «Запустить AppleScript» введите следующий код:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
Файл> Сохранить и дать ему имя типа «Запустить AppleScript»
Теперь вы можете щелкнуть правой кнопкой мыши файл .scpt в Finder, выбрать «Запустить AppleScript» и увидеть, как ваш скрипт выполняется.
Ссылка: Источник подпрограммы - AppleScript: Основные подпрограммы
osascriptи вы не закодировали его для обработки, если в Finder выбрано более одного файла .scpt. 2. Совершенно не нужно проходить через такое сложное кодирование, когда следующая единственная строка кода заменяет все, что вы добавили в действие «Выполнить AppleScript». do shell script "osascript " & quoted form of POSIX path of item 1 of inputВот минимальный пример для замены всего в вашем текущем коде AppleScript: paste.ee/p/XngKA
ifблок оператора может быть расширен с помощью elseпредложения, которое отображает сообщение о том, что выбранный файл не является файлом .scpt. Таким образом, пользователи не задаются вопросом, почему ничего не произошло, если они не увидели, что они случайно выбрали неправильный тип файла при запуске службы.