Como posso executar uma aplicação com argumentos de linha de comando em Mac OS
Existe alguma forma fácil de anexar argumentos de linha de comando a uma aplicação num Mac? Por exemplo, para correr o Opera em modo quiosque ou para usar um perfil diferente no Firefox, posso escrever
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
No Windows posso anexar os argumentos às propriedades do atalho, mas como os Macs não usam o atalho em si e executam as aplicações directamente, isto não é possível.
Descobri que lançar as aplicações através de bash ou 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"
Posso tornar estes executáveis e atribuir um ícone e tudo funciona bem, excepto que quando corro qualquer um destes pseudo-programas, ou uma janela terminal ou um ícone Applescript permanece aberto enquanto a aplicação estiver aberta. Presumivelmente, usando o comando Applescript open
evitaria isto, mas como não estou a executar a aplicação como está empacotada (apenas /Applications/Firefox
), ela não funciona.
Então, há melhor forma de executar aplicações com argumentos de linha de comando? Se não, existe alguma forma de impedir que uma sessão terminal persistente ou um ícone Applescript fique aberto enquanto a aplicação estiver aberta?
Editar
De acordo com uma página Mozilla Wiki , é melhor usar um script para executar a aplicação com argumentos. Adicionar um &
& ao fim do guião mata a janela terminal persistente. A única irritação agora é que abre uma janela Terminal morta, logada (que é melhor que a persistente, mas ainda assim…)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &