Per rendere disponibili i comandi di Cygwin da bash, indipendentemente da come lo si esegue, nonché da cmdo da qualsiasi altra shell, assicurarsi che la Pathvariabile di ambiente abbia binaggiunto 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 Pathvariabile di sistema , solo per il tuo utente - modifica (crea se non esiste) la Pathvariabile utente .
Supponendo che cygwinsia installato su C:\cygwin(potrebbe essere cygwin64 per Cygwin a 64 bit), aggiungere C:\cygwin\bina Path. Tieni presente che se usi la Pathvariabile di sistema , se aggiungi Cygwin binall'inizio, alcuni comandi di Cygwin oscureranno quelli incorporati (ad es. Quelli di Cygwin findverranno usati al posto di Windows 'find ). Preferisco farlo, ma se non lo fai, aggiungi Cygwin binalla 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 -iopzioni 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/profileo ~/.bash_profilecome farebbe una shell di login, quindi non è necessario set CHERE_INVOKING=1quale 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.