Передайте аргументы в osascript через функцию оболочки в OS X Mountain Lion

Ответ в " Как открыть новое окно Firefox с аргументом URL" не работает в Mac OSX Mountain Lion (10.8.2). Я не могу комментировать этот ответ или вопрос, поэтому мне пришлось создать новый вопрос.

Это терпит неудачу как это:

$ firefox-window http://www.yahoo.com
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements

Новое окно открывается успешно, но оно пустое (т. Е. Переменная среды, переданная в AppleScript в функции bash, игнорируется).

Есть ли альтернативный способ передачи переменных в applecript из командной строки? (возможно, не используя Bash?)

Рекомендации

"Приложение в песочнице не может использовать AppleScript для связи с другим приложением на вашем Mac, если только разработчик специально не запрашивает (и не получает) разрешение на это".

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

Обходной путь № 1

Вызывайте его напрямую вместо использования переменной оболочки ($1). Например, это работает:

$ osascript ~/bin/firefox-window.scpt "http://www.yahoo.com"

Firefox открывает новое окно, указывающее на Yahoo.

1 ответ

osascript -e 'tell application "Firefox"' -e 'open location "http://example.com/"' -e 'end tell'

Это должно быть сделано в новой вкладке, а не в новом окне, если это нормально.

Другие вопросы по тегам