Hoe kan ik een programma met opdrachtregelargumenten uitvoeren in Mac OS
Is er een gemakkelijke manier om opdrachtregelargumenten toe te voegen aan een programma op een Mac? Om bijvoorbeeld Opera in kioskmodus te laten draaien of om een ander profiel in Firefox te gebruiken, kan ik
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
In Windows kan ik de argumenten toevoegen aan de eigenschappen van de snelkoppeling, maar aangezien Macs niet per se snelkoppelingen gebruiken en de programma’s direct starten, is dit niet mogelijk.
Ik heb ontdekt dat het starten van de programma’s via bash of Applescript gedeeltelijk werkt:
# 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"
Ik kan deze uitvoerbaar maken en een pictogram toewijzen en alles werkt prima, behalve dat wanneer ik een van deze pseudo-programma’s uitvoer, er een terminal venster of een Applescript pictogram geopend blijft zolang de applicatie geopend is. Vermoedelijk zou het gebruik van het Applescript commando open
dit voorkomen, maar omdat ik de applicatie niet uitvoer zoals hij is verpakt (alleen /Applications/Firefox
), werkt het niet.
Dus, is er een betere manier om applicaties uit te voeren met commandoregel argumenten? Zo niet, is er een manier om te voorkomen dat een persistente terminal sessie of Applescript icoon open blijft terwijl de applicatie open is?
Edit
Volgens een Mozilla Wiki pagina , is het het beste om een script te gebruiken om de applicatie met argumenten uit te voeren. Het toevoegen van een &
aan het eind van het script doodt het persistente Terminal venster. De enige ergernis is nu dat het een dood, uitgelogd Terminal venster opent (wat beter is dan het persistente, maar toch…)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &