
Ich starte eine App aus einem Skript mit:
open /path/to/foo.app -F -g -W --args -foo bar
Wenn die Anwendung abstürzt (insbesondere bei Segmentierungsfehlern), bleibt das Fenster für immer geöffnet und die App wird nicht beendet. Wenn ich die App jedoch auf die altmodische Weise starte
/path/to/foo.app/Contents/MacOSX/foo -foo bar
es wird einfach beendet und gibt einen Fehlercode ungleich Null an das Skript zurück, was ich auch möchte. Wie kann ich dieses Verhalten (Beenden bei Segmentierungsfehler und Zurückgeben eines Fehlercodes) mit der obigen „open“-Syntax erreichen? Die Motivation besteht darin, Zugriff auf OSX-spezifische Optionen wie -F, -g, -W usw. zu erhalten.
Antwort1
Ich würde die Verwendung der Option -W vermeiden.Manpage von open:
-W Bewirkt, dass open wartet, bis die Anwendungen, die es öffnet (oder die bereits geöffnet waren), beendet wurden. Verwenden Sie es zusammen mit dem Flag -n, damit open als geeignete App für die Umgebungsvariable $EDITOR fungieren kann.
Dies könnte Ihr Problem sein.