Un equivalente di "aperto" di OS X in Cygwin?


11

So che questa potrebbe essere una domanda un po 'strana, oltre al fatto che lo sto facendo qui. Il motivo è che ogni volta che chiedo a questo proposito alle persone Windows, o anche ai normali utenti Cygwin, non sembrano capire perché ho bisogno di questa funzionalità.

Per quelli di voi che non hanno usato "open" nella shell in Mac OS X, funziona così:

$ open somepic.jpg

$ open SomeFile.m

Quindi esamina il programma predefinito associato al file e lo apre. Mi piacerebbe fare lo stesso da Cygwin. Qualsiasi idea sarebbe molto apprezzata!


Utilizzando MobaXterm, il comando equivalente per Mac openè ... open. :) Non ho usato molto Cygwin; Preferisco MobaXterm.
Wildcard il

Risposte:


18
$ cygstart theFile.ext

Questo aprirà theFile.ext con l'app predefinita che hai impostato per i file .ext.


Esattamente quello di cui avevo bisogno. Metterà un:
TK il

2
alias open = 'cygstart' nel mio .bashrc
TK

1
@TK: dolce. Sentiti libero di ricominciare da capo se riscontri altri problemi con Cygwin. Sono stato intrappolato in Windows Land per molto tempo, quindi io e Cygwin ci siamo avvicinati molto. Non siamo amici ... ma abbiamo imparato a tollerarci a vicenda. ;)
unclejamil,

4

Per completezza, xdg-opensu Linux ha quasi lo stesso ruolo sul lato Linux.


1

Come accennato, il modo migliore è probabilmente cygstart. Puoi aggiungere un alias al tuo .bashrc (o .zshrc o altro):

alias open='cygstart'

Ma puoi anche fare alcune cose con explorer.exe. Probabilmente non è buono come cygstartma se riscontri problemi con quell'approccio (o devi usarlo con la shell bash di Git piuttosto che con Cygwin) è un'opzione da tenere a mente.

Prima d'ora ho usato la shell bash fornita con Git per Windows, e l'ho avuto

alias open='explorer.exe'

nel mio .bash_profile. Avrebbe aperto le directory in Esplora risorse e aperto i file nell'applicazione predefinita (secondo la definizione di Windows "predefinita").

Tuttavia ha dei limiti. Poiché explorer.exe prevede di essere utilizzato a un prompt di DOS (se a una riga di comando), non aspettarti che il globbing funzioni. Se, ad esempio, vuoi aprire contemporaneamente il tuo Gemfile, Vagrantfile, Cheffile e Rakefile e digiti

open *file

Avrai solo una finestra di Windows Explorer. Non so quale logica (!?) Sia al lavoro qui. Molto probabilmente explorer.exe sta semplicemente ignorando tutti gli argomenti, poiché non sa cosa fare con più argomenti.

cygstart non è nemmeno molto intelligente, poiché apre il primo argomento solo quando vengono passati più argomenti, ma almeno apre un file, anziché la directory corrente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.