Чтобы сделать команды 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переменную, если вы добавляете Cygwin binв начале, некоторые команды Cygwin будут затенять встроенные (например, Cygwin findбудет использоваться вместо Windows ').find). Я предпочитаю делать это, но если вы этого не сделаете, добавьте Cygwin's binв конце вашего 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 на man-странице bash для получения дополнительной информации. объяснение). Он будет читать и выполнять команды из пользовательского файла rcfile ~/.bashrc(нет /etc/profileили ~/.bash_profileкак оболочка входа в систему, поэтому вам не нужно, set CHERE_INVOKING=1что относится только к /etc/profile). Поэтому поместите ваши псевдонимы пользователя, параметры оболочки, дополнительные переменные окружения и т. Д. В ~ / .bashrc, где они по праву принадлежат.