Есть ли простой способ добавить аргументы командной строки в приложение на Mac? Например, чтобы запустить Opera в режиме киоска или использовать другой профиль в Firefox, я могу набрать
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
В Windows я могу добавить аргументы к свойствам ярлыков, но поскольку Mac не использует ярлыки как таковые и не запускает приложения напрямую, это невозможно.
Я обнаружил, что запуск приложений через bash или Applescript частично работает:
# Bash
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote
# Applescript
do shell script "exec /Applications/Opera.app/Contents/MacOS/Opera -kioskmode"
Я могу сделать их исполняемыми и назначить значок, и все прекрасно работает, за исключением того, что при запуске любой из этих псевдопрограмм окно терминала или значок Applescript остаются открытыми до тех пор, пока приложение открыто. Предположительно, использование команды Applescript open
позволит избежать этого, но, поскольку я не запускаю приложение, поскольку оно упаковано (просто /Applications/Firefox
), оно не работает.
Итак, есть ли лучший способ для запуска приложений с аргументами командной строки? Если нет, есть ли способ предотвратить постоянный сеанс терминала или значок Applescript, чтобы оставаться открытым, пока приложение открыто?
редактировать
Согласно странице вики Mozilla , лучше всего использовать скрипт для запуска приложения с аргументами. Добавление &
в конец скрипта убивает постоянное окно терминала. Единственное раздражение сейчас заключается в том, что он открывает мертвое окно терминала, вышедшее из системы (что лучше, чем постоянное, но все же ...)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &
&
которое по-прежнему принадлежит Терминалу, вы можете исправить это, добавив строку disown %/Applications/Firefox.app/Contents/MacOS/firefox
после запуска, затем вы можете безопасно закрыть Терминал, используя AppleScript.