
Я запускаю приложение из скрипта, используя:
open /path/to/foo.app -F -g -W --args -foo bar
Когда приложение падает (в частности, это ошибки сегмента), окно остается открытым навсегда и приложение не закрывается. Однако, когда я запускаю приложение старым добрым способом
/path/to/foo.app/Contents/MacOSX/foo -foo bar
он просто завершает работу и возвращает скрипту ненулевой код ошибки, что мне и нужно. Как мне добиться такого поведения (выход при ошибке сегмента и возврат кода ошибки) с помощью синтаксиса "open" выше? Мотивация заключается в том, чтобы получить доступ к специфичным для OSX опциям, таким как -F, -g, -W и т. д.
решение1
Я бы не стал использовать опцию -W.страница руководства open:
-W Заставляет open ждать, пока приложения, которые он открывает (или которые уже открыты), не закроются. Используйте с флагом -n, чтобы разрешить open функционировать как соответствующее приложение для переменной среды $EDITOR.
Это может быть вашей проблемой.