ogólne podejście do znalezienia poprawnej nazwy, aby uruchomić aplikację z linii poleceń

1

Ilekroć nie jestem w przeglądarce lub w edytorze tekstu, większość mojego czasu na moim Macu spędzam na terminalu.

Jaki jest szybki, ogólny sposób, aby dowiedzieć się, jak uruchomić program gui z powłoki bash? Wydaje się, że zawsze musimy biegać i dowiedzieć się, że program xyz można nazwać „abc”.

Na przykład Sublime Text to „subl”, Kaleidoscope to „ksdiff”. Świetnie, ale musisz to sprawdzić dla każdego programu. I jest wiele identycznych pytań, na przykład o Finderze.

Jaka jest najlepsza metoda Maca na określenie linii poleceń „alias” dla dowolnej aplikacji? Czy mogę korzystać z Monitora aktywności, jeśli program jest otwarty? Czy muszę chodzić dookoła w folderze Aplikacje? Jeśli tak, jak mogę powiedzieć „plik aliasu wiersza poleceń” od innych?

Albo mogę użyć „ps aux” w bashu? Na przykład w systemie Linux lub Windows „foo.exe” na liście procesów oznacza, że ​​możesz po prostu wpisać „foo.exe”, aby uruchomić ten program. Ale Sublime pojawia się jako wysublimowany tekst, a nie „wzniosły”, więc nie myśl, że to zadziała.

JL Peyret
źródło

Odpowiedzi:

3

Bot Sublime Text i Kaleidoscope są przypadkami specjalnymi, ponieważ instalują albo narzędzie pomocnicze albo siebie gdzieś w swoim $PATH.

Najprostszy sposób na otwarcie dowolnej aplikacji z /Applications ma biec

open -a APPNAME

w Terminalu, np.

open -a Pages       # opens Pages
open -a "App Store" # opens the App Store
nohillside
źródło
Tak, wydaje się, że to działa i mogę za jego pomocą otworzyć plik / adres URL w Firefoksie. Wiedziałem o tym otwarty , ale nie zdawałem sobie sprawy, że możesz użyć -za aby uruchomić z nim aplikacje lub określić inny program niż domyślny, aby otworzyć plik. Dzięki.
JL Peyret
0

Wystarczy rozwinąć odpowiedź patrix. W szczególności, jak dowiedzieć się, co wstawić w flagę -a.

Jeśli używam ps aux w wierszu poleceń poinformuje mnie, której nazwy aplikacji użyć.

audrey:tests jluc$ ps aux | grep Sub
jluc            30721   0.0  5.0  3746992 418976   ??  S    Tue04pm  42:37.43 /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2 -psn_0_983280
jluc            55934   0.0  0.0  2423368    188 s004  R+    8:07pm   0:00.00 grep Sub

Zobaczyć, że Wysublimowany tekst 2 ? To jest to czego chcesz.

tworzenie pliku i otwieranie go (upewnij się, że jest to nieznane rozszerzenie, a nie podbieranie go przez skojarzenie).

audrey:tests jluc$ echo bzp > test.bzp
audrey:tests jluc$ open -a "Sublime Text 2" test.bzp

To działa.

Wreszcie, jeśli często korzystasz z tej aplikacji z linii poleceń, możesz ją aliasować.

alias open_sublime='open -a "Sublime Text 2"'

To jest jeden dla Affinity Designer

ps aux | grep Aff

wyniki

jluc            56148   1.2  1.7  4206616 139500   ??  S     8:29pm   0:04.79 /Applications/Affinity Designer.app/Contents/MacOS/Affinity Designer
jluc            56158   0.0  0.0  2432784    632 s004  S+    8:30pm   0:00.00 grep Aff

a teraz pseudonim

alias open_aff_design='open -a "Affinity Designer"'
JL Peyret
źródło
0

Jeśli uważasz, że nadal potrzebujesz programu w Terminalu:

Obie

otwórz -a "nazwa aplikacji"

lub

aplikacja open / pathtoapplication pracowałbym...

i skonfigurowanie aliasu w pliku .bashrc byłoby dobre. na przykład alias open_app = 'open / pathtoapp'

Aby edytować plik .bashrc:

1) W katalogu domowym otwórz .bashrc w swoim ulubionym edytorze (np. Vi .bashrc)

2) Wstaw tyle aliasów, ile potrzebujesz

3) Zapisz plik

4) Wpisz źródło .bashrc lub. .bashrc, aby zrobić dwie rzeczy ... aby sprawdzić składnię i natychmiast zastosować zmiany

Krok 4 jest ważny - jeśli popełnisz błąd, może powrócić, aby cię prześladować, jeśli uruchomisz ponownie bez sprawdzania ... niczego wstrząsającego ziemią, ale bardziej irytującego ... Dodatkowo otrzymujesz natychmiastowe zmiany i możesz je przetestować.

David Fass
źródło