Чтобы сделать команды Cygwin доступными из bash , независимо от того, как вы их выполняете, а также из cmd или любой другой оболочки, убедитесь, что в вашей переменной среды Path добавлен каталог bin Cygwin.
Перейдите в Control Panel > System and Security > System (стандартная горячая клавиша Win+Pause), затем Advanced system settings > Environment variables . Для всех пользователей отредактируйте системную переменную Path , просто для своего пользователя - отредактируйте (создайте, если она не существует) пользовательскую переменную Path .
Предполагая, что cygwin установлен в C:\cygwin (может быть cygwin64 для 64-битного Cygwin), добавьте C:\cygwin\bin в Path . Имейте в виду, что если вы используете системную переменную Path , если вы добавляете bin Cygwin в начале, некоторые команды Cygwin будут затенять встроенные (например, find Cygwin будет использоваться вместо find Windows). Я предпочитаю делать это, но если вы этого не сделаете, добавьте bin Cygwin в конце вашего Path .
Поскольку в большинстве других ответов также говорится о настройке ConEmu, я также выскажу свое личное мнение.
Я предпочитаю запускать оболочку без входа в систему. Например, в Linux вы получаете оболочку входа при входе в систему с текстовой консоли или через ssh и интерактивную оболочку без регистрации при открытии эмулятора терминала (xterm, konsole и т.д.).
Моя задача {Bash} имеет параметры задачи /dir "%CD%" для установки рабочего каталога в рабочий каталог текущей вкладки (например, если задача bash из Far). Команда для запуска bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
Обратите внимание, что опции --login -i опущены, оболочка будет запускаться как интерактивная оболочка без регистрации (поскольку она не имеет аргументов без опций и без опции -c, а ее stdin и stdout подключены к терминалам, см. Раздел INVOCATION из справочной страницы Bash для более подробного объяснения). Он будет читать и выполнять команды от пользователя rcfile ~/.bashrc (не для /etc/profile или ~/.bash_profile как для оболочки входа в систему, поэтому вам не нужно set CHERE_INVOKING=1 что относится только к /etc/profile). Поэтому поместите ваши псевдонимы пользователей, параметры оболочки, дополнительные переменные среды и т.д. В ~/.bashrc, где они по праву принадлежат.