¿Cómo puedo ejecutar una aplicación con argumentos de línea de comandos en Mac OS?
¿Existe alguna forma sencilla de añadir argumentos de línea de comandos a una aplicación en un Mac? Por ejemplo, para ejecutar Opera en modo quiosco o para utilizar un perfil diferente en Firefox, puedo escribir
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
En Windows puedo añadir los argumentos a las propiedades del acceso directo, pero como los Mac no utilizan el acceso directo en sí y ejecutan las aplicaciones directamente, esto no es posible.
He descubierto que lanzar las aplicaciones a través de bash o Applescript funciona parcialmente:
# 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"
Puedo hacerlas ejecutables y asignarles un icono y todo funciona de maravilla, excepto que cuando ejecuto cualquiera de estos pseudoprogramas, una ventana de terminal o un icono de Applescript permanece abierto mientras la aplicación esté abierta. Presumiblemente, usar el comando open
de Applescript evitaría esto, pero como no estoy ejecutando la aplicación tal y como está empaquetada (sólo /Applications/Firefox
), no funciona.
Entonces, ¿hay alguna forma mejor de ejecutar aplicaciones con argumentos de línea de comandos? Si no es así, ¿hay alguna forma de evitar que una sesión de terminal persistente o un icono de Applescript permanezcan abiertos mientras la aplicación está abierta?
Edición
Según una página Mozilla Wiki , lo mejor es utilizar un script para ejecutar la aplicación con argumentos. Añadiendo un &
al final del script se mata la ventana de Terminal persistente. La única molestia ahora es que abre una ventana de Terminal muerta y desconectada (que es mejor que la persistente, pero aún así…)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &