Existe-t-il un moyen de faire passer les arguments de ligne de commande `open -a` pass à l'application lancée?

2

J'aimerais exécuter OpenSCAD à partir de la ligne de commande avec quelques arguments.

$ open -a openscad myfile.scad

fonctionne comme je l'espère.

$ open -a openscad --args --help

rapports

LSOpenURLsWithRole() failed for the application /Applications/OpenSCAD.app with error -10810.

lorsque OpenSCAD n'est pas déjà en cours d'exécution. Lorsque OpenSCAD est déjà en cours d'exécution, place open -a openscad --args --helpsimplement OpenSCAD au premier plan.

Ce dont j'ai vraiment besoin, c'est que cela fonctionne:

$ open -a openscad --args -o myfile.stl myfile.scad

qui fonctionne comme mon exemple précédent. Que dois-je faire pour lancer OpenSCAD avec des arguments de ligne de commande?

Avant de cliquer sur Soumettre, j'ai reproduit ici mes questions pour coller, et j'ai trouvé une solution qui fonctionne plus ou moins. Tout cela semble faire ce que j'attendais, même si OpenSCAD n'est pas déjà lancé.

$ /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD --help
$ /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD --args --help
$ /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -o ball.stl ball.scad
$ /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD --args -o ball.stl ball.scad

Reste-t-il un moyen de open -apasser des arguments de ligne de commande à l'application lancée ?

John Schmitt
la source
Je n'ai pas openscad. Mais avez-vous essayé d'ouvrir -a openscad --args '--help' ou d'ouvrir -a openscad --args "--help"
markhunte
Je n'ai pas vu de changement de comportement en ajoutant des guillemets.
John Schmitt

Réponses:

1

La seule chose que je peux faire pour travailler, c'est ouvrir un fichier. Il semble que l'application ne soit pas conçue pour accepter les arguments de cette façon.

open -a openscad --args '/path/to/foo.scad'

L'application contient une définition de script Applescript, mais uniquement une reloaddéfinition.

markhunte
la source