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.