Para disponibilizar comandos Cygwin a partir de bash , independentemente de como você os executa, bem como de cmd ou qualquer outro shell, verifique se sua variável de ambiente Path tem o diretório bin do Cygwin adicionado. >
Vá para Control Panel > System and Security > System (tecla de atalho padrão Win+Pause ) e, em seguida, Advanced system settings > Environment variables . Para todos os usuários, edite a variável Path do sistema, apenas para seu usuário - edite (crie, se ela não existir) a variável user Path .
Assumindo que cygwin esteja instalado em C:\cygwin (pode ser cygwin64 para o Cygwin de 64 bits), adicione C:\cygwin\bin ao Path . Esteja ciente de que se você usar a variável Path do sistema, se você adicionar o bin do Cygwin no começo, algum comando do Cygwin irá sombrear os internos (por exemplo, find do Cygwin será usado em vez do Windows ' find ) . Eu prefiro fazê-lo, mas se você não o fizer, adicione bin do Cygwin no final do seu Path .
Como a maioria das outras respostas também fala sobre a configuração do ConEmu, também darei minha opinião pessoal.
Eu prefiro executar um shell de não-login. Por exemplo, no Linux, você obtém um shell de login quando efetua login no console de texto ou via ssh, e um shell interativo sem login quando você abre um emulador de terminal (xterm, konsole, etc.).
Minha tarefa {Bash} tem /dir "%CD%" parâmetros da tarefa para definir o diretório de trabalho para o diretório de trabalho da guia atual (por exemplo, se a tarefa bash de Far). O comando para iniciar o bash:% %ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
Observe que as opções --login -i são omitidas, o shell será iniciado como um shell interativo sem login (já que não possui argumentos de não opção e sem a opção -c, e seu stdin e stdout estão conectados aos terminais, consulte INVOCATION seção da manpage do bash para mais explicações). Ele lerá e executará comandos do usuário rcfile ~/.bashrc (não /etc/profile ou ~/.bash_profile como um shell de login faria, portanto, você não precisa set CHERE_INVOKING=1 , que é relevante apenas em relação a /etc/profile ). Portanto, coloque seus aliases de usuários, opções de shell, variáveis de ambiente extras, etc. em ~ / .bashrc, onde eles pertencem legalmente.