Para disponibilizar os comandos do Cygwin bash, independentemente de como você o executa, bem como de cmdou qualquer outro shell, verifique se a Pathvariável de ambiente possui o bindiretório 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 Pathvariável do sistema , apenas para o seu usuário - edite (crie se não existir) a Pathvariável do usuário .
Supondo que cygwinesteja instalado em C:\cygwin(pode ser cygwin64 para Cygwin de 64 bits), adicione C:\cygwin\binao Path. Esteja ciente de que se você usar a Pathvariável de sistema , se você adicionar o Cygwin binno início, alguns comandos do Cygwin sombrearão os integrados (por exemplo, o Cygwin findserá usado em vez do Windows 'find) Prefiro fazê-lo, mas se não o fizer, adicione o Cygwin binno 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 sem login. Por exemplo, no Linux, você obtém um shell de login ao efetuar login no console de texto ou via ssh, e um shell interativo sem login ao abrir um emulador de terminal (xterm, konsole etc.).
Minha tarefa {Bash} possui /dir "%CD%"parâmetros de tarefa para definir o diretório de trabalho no diretório de trabalho da guia atual (por exemplo, se a tarefa bash do Far). O comando para iniciar o bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
As --login -iopções de aviso são omitidas, o shell será iniciado como um shell interativo sem logon (já que não possui argumentos de opção e sem a opção -c, e o stdin e o stdout estão conectados aos terminais, consulte a seção INVOCATION da página de manual do bash para obter mais informações. explicação). Ele lerá e executará comandos do usuário rcfile ~/.bashrc(não /etc/profileou ~/.bash_profilecomo um shell de login faria, portanto, você não precisa o set CHERE_INVOKING=1que é relevante apenas em relação a /etc/profile). Então, coloque seus apelidos de usuário, opções de shell, variáveis de ambiente extras etc. em ~ / .bashrc, onde eles pertencem por direito.