Come faccio a creare un collegamento che apre la shell bash di Cygwin su una directory di mia scelta (UNC in particolare)?


8

Data un'installazione standard di Cygwin per Windows XP, vorrei creare un collegamento Explorer standard che apre una shell bash già aperta su una directory di mia scelta. La directory è un percorso UNC. Il cygwin.bat standard non funziona perché richiama cmd.exe e cmd.exe non gradisce i percorsi UNC. Idealmente, non avvia cmd.exe o qualsiasi altra shell per aprire bash. Ho provato a manipolare .bashrc e trascinare la mia memoria dai miei giorni Unix, ma purtroppo in questi giorni mi manca. Varie soluzioni che ho provato funzionano quasi , ma non del tutto.


Risposte:


11

Non ho giocato con i percorsi UNC, ma in generale devi usare le barre in avanti anziché le barre inverse. Per le unità normali, è possibile utilizzare /cygdrive/cad esempio per accedere all'unità C.

In un file batch, per aprire la shell alla radice C:potresti usare:

c:\cygwin\bin\bash.exe --login -i -c 'cd "/cygdrive/c";bash'

Potresti anche essere interessato a chere una voce del menu di scelta rapida per Apri bash qui :

testo alternativo


Un altro motivo da usare chereè che ti permette di scegliere quale terminale vuoi aprire, il terminale cygwin predefinito è un po 'goffo IMO. Devo invece aprire un terminale rxvt.
— Nifle

Grazie per la tua risposta. Vedo dove uno dei miei tentativi è andato storto: no; bash dopo il cd! Grazie anche per la voce del menu contestuale ...
— Kit

Un ottimo strumento quando vuoi scrivere degli script per qualcuno ma loro non vogliono aprire un prompt della shell e cd nella directory di lavoro.
— Calculus Knight,

1

Ho aggiunto una sottocartella nel registro in HKEY_CLASSES_ROOT/Directory/shell, aggiunta chiave Cygwincon chiave in commandcui si trova il valore del comando

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""
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.