Как запустить приложение с аргументами командной строки в Mac OS
Есть ли простой способ добавить аргументы командной строки в приложение на 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 Wiki , лучше всего использовать скрипт для запуска приложения с аргументами. Добавление &
в конец скрипта убивает постоянное окно терминала. Единственное, что теперь раздражает, это то, что оно открывает мертвое, вышедшее из терминала окно (что лучше, чем постоянное, но все же…)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &
```.