Jak uruchomić aplikacje OS X z wiersza poleceń z opcjonalnymi argumentami?


6

Szukam prostego sposobu na uruchomienie różnych aplikacji GUI OS X z wiersza poleceń i przy użyciu różnych parametrów.

Jeśli to możliwe, chciałbym dodać je do ścieżki PATH, aby łatwiej je nazywać.

Uwaga: próbowałem open -a "Google Chrome" --args --disable-pluginsi uruchomiłem Chrome, ale bez wyłączania wtyczek.



Chciałbym również wiedzieć, jak otworzyć aplikację z wiersza polecenia z uprawnieniami sudo
— AbiusX

Odpowiedzi:


4

Zwykle rzeczywisty plik wykonywalny można znaleźć w folderze Contents / MacOS pakietu aplikacji. W przypadku Chrome spróbuj tego:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-plugins

1
Próbowałeś tego? Dla mnie uruchamia Chrome z włączonymi wtyczkami.
— sorin,

@ sorin-sbarnea Biorąc pod uwagę twój problem tutaj i pytanie, podejrzewam, że Chrome ma problem tutaj. Użyłem Chrome z kilkoma argumentami na dwa sposoby
— Mark

nie działa to tak samo jak otwarcie aplikacji.
— AbiusX 16.03.11

1

Ogólnie robisz coś takiego:

exec "/Applications/MyApp.app/Contents/MacOS/MyAppExecutableFile" [arguments]

Uruchomienie execpolecenia jest ważne, spowoduje to zakończenie sesji terminala i załadowanie żądanego polecenia. W ten sposób nie zabijesz swojego programu, zamykając Terminal lub zamykając okno.

Pamiętaj też, aby pamiętać, jakie standardowe flagi są ustawione po dwukrotnym kliknięciu aplikacji w Finderze (widziałem około 4 lub 5 standardowych) i przekazaniu ich również w celu zachowania spójnego zachowania.

Jeśli chodzi o to, co chcesz zrobić, sprawdź dokumentację danej aplikacji.

Nie wiem, czy jest to odpowiednia flaga dla Chrome, więc nie mogę tam komentować.


-2

To NIE pozwala ci wysłać argumentu do aplikacji, ale znalazłem swoją drogę do tego wątku, próbując znaleźć sposób na otwarcie aplikacji z wiersza poleceń, więc przynajmniej podzielę się tym, jak to zrobić, na wypadek, gdyby ktoś inny skończył w tej samej pozycji.

Utworzenie aliasu może działać ~/.bash_profile.

Na przykład:

alias affinity="open -a Affinity\ Designer.app"

(Ścieżka nie jest konieczna. Hmm.)

Działa dla czegoś takiego jak:

$ affinity path/to/file.png

-1. Spowoduje to otwarcie pliku z daną aplikacją, ale nie można go użyć do przekazania dowolnych argumentów.
— Blacklight Shining

Dobrze. Znalazłem drogę do tego, próbując po prostu znaleźć sposób na otwarcie aplikacji z wiersza poleceń. Przeredaguję moją odpowiedź, aby przynajmniej określić, że tak naprawdę nie odpowiada ona na pytanie PO.
— MikeiLL

Pozostawiając moją opinię, ponieważ ten post wciąż nie odpowiada na pytanie. (Byłoby lepiej pasować do tego pytania , ale podobna odpowiedź już tam została zamieszczona.)
— Blacklight Shining
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.