Per rendere disponibili i comandi di Cygwin da bash
, indipendentemente da come lo si esegue, nonché da cmd
o da qualsiasi altra shell, assicurarsi che la Path
variabile di ambiente abbia bin
aggiunto la directory di Cygwin .
Vai a Control Panel > System and Security > System
(tasto di scelta rapida standard Win+Pause
), quindi Advanced system settings > Environment variables
. Per tutti gli utenti, modifica la Path
variabile di sistema , solo per il tuo utente - modifica (crea se non esiste) la Path
variabile utente .
Supponendo che cygwin
sia installato su C:\cygwin
(potrebbe essere cygwin64 per Cygwin a 64 bit), aggiungere C:\cygwin\bin
a Path
. Tieni presente che se usi la Path
variabile di sistema , se aggiungi Cygwin bin
all'inizio, alcuni comandi di Cygwin oscureranno quelli incorporati (ad es. Quelli di Cygwin find
verranno usati al posto di Windows 'find
). Preferisco farlo, ma se non lo fai, aggiungi Cygwin bin
alla fine del tuo Path
.
Poiché la maggior parte delle altre risposte parla anche della configurazione di ConEmu, darò anche la mia opinione personale.
Preferisco eseguire una shell senza login. Ad esempio, in Linux si ottiene una shell di accesso quando si accede dalla console di testo o tramite ssh e una shell interattiva non di accesso quando si apre un emulatore di terminale (xterm, konsole, ecc.).
La mia attività {Bash} ha i /dir "%CD%"
parametri dell'attività per impostare la directory di lavoro sulla directory di lavoro della scheda corrente (ad esempio se l'attività bash da lontano). Il comando per avviare bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
Le --login -i
opzioni di avviso sono omesse, la shell si avvierà come shell interattiva senza accesso (poiché non ha argomenti non di opzione e senza l'opzione -c, e stdin e stdout sono collegati ai terminali, fare riferimento alla sezione INVOCATION della manpage di bash per ulteriori informazioni spiegazione). Leggerà ed eseguirà i comandi dall'utente rcfile ~/.bashrc
(no /etc/profile
o ~/.bash_profile
come farebbe una shell di login, quindi non è necessario set CHERE_INVOKING=1
quale sia rilevante solo per quanto riguarda /etc/profile
). Quindi metti i tuoi alias utente, opzioni di shell, variabili di ambiente extra ecc. Su ~ / .bashrc, a cui appartengono giustamente.