approccio generico per trovare il nome corretto per eseguire un'applicazione dalla riga di comando

1

Ogni volta che non sono in un browser o nel mio editor di testo, la maggior parte del mio tempo sul mio mac viene speso sul terminale.

Quale è un modo rapido e generico per capire come eseguire un programma GUI dalla shell bash? Sembra che abbiamo sempre bisogno di correre e scoprire che il programma xyz può essere chiamato come 'abc'.

Ad esempio, Sublime Text è "subl", Kaleidoscope è "ksdiff". Grande, ma è necessario cercare questi per ogni singolo programma. E ci sono un sacco di domande identiche, su Finder per esempio.

Qual è il miglior approccio Mac per capire la linea di comando "alias" per qualsiasi app? Posso utilizzare Activity Monitor se il programma è aperto? Devo andare in giro nella cartella Applicazioni? In tal caso, come posso dire al "file alias della riga di comando" dagli altri?

Oppure posso utilizzare "ps aux" in bash? Ad esempio, su Linux o su Windows, "foo.exe" nell'elenco dei processi significa che è possibile digitare "foo.exe" per avviare quel programma. Ma Sublime si presenta come Sublime Text, non come "subl", quindi non pensare che funzioni.

    
posta JL Peyret 22.04.2015 - 19:17
fonte

3 risposte

3

Bot Sublime Text e Kaleidoscope sono casi speciali poiché installano un'utility di supporto o se stessi da qualche parte nel $PATH .

Il modo più semplice per aprire qualsiasi applicazione da /Applications è eseguire

open -a APPNAME

in Terminale, ad es.

open -a Pages       # opens Pages
open -a "App Store" # opens the App Store
    
risposta data 22.04.2015 - 19:23
fonte
0

Solo per elaborare la risposta di Patrix. In particolare su come capire cosa inserire nel flag -a.

Se utilizzo ps aux sulla riga di comando, mi dirà quale appname usare.

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

Vedi Testo sublime 2 ? Questo è quello che vuoi.

creare un file e aprirlo (assicurati che si trattasse di un'estensione sconosciuta piuttosto che averla raccolta sottotime per associazione.

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

Funziona.

Infine, se trovi che usi spesso quell'app dalla riga di comando, puoi aliasarla.

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

Questo è uno per Affinity Designer

ps aux | grep Aff

Risultati

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

e ora l'alias

alias open_aff_design='open -a "Affinity Designer"'
    
risposta data 13.09.2015 - 05:16
fonte
0

Se ritieni di aver bisogno di un programma nel Terminale:

Entrambi

open -a "NomeApp"

o

open / pathtoapplication funzionerebbe ...

e impostare un alias nel file .bashrc sarebbe positivo. per esempio. alias open_app = 'open / pathtoapp'

Per modificare .bashrc:

1) Nella tua directory Home apri .bashrc nel tuo editor preferito (ad esempio vi .bashrc)

2) Inserisci tutti gli alias di cui avresti bisogno

3) Salva il file

4) Digitare source .bashrc o. .bashrc per fare due cose ... per eseguire un controllo della sintassi e applicare immediatamente le modifiche

Il passaggio 4 è importante: se commetti un errore potresti tornare a perseguitarti se riavvii senza controllare ... niente di sconvolgente, ma più fastidioso ... Inoltre, le modifiche si applicano immediatamente e possono provarle.

    
risposta data 15.10.2018 - 19:14
fonte

Leggi altre domande sui tag