Я создал новое задание
{} Баш
прошел мой домашний каталог
/ dir "C: \ Users \ TMB \"
и добавил Bash в качестве приложения
C: \ Cygwin \ Bin \ bash.exe
Когда я открываю Bash, он не может использовать базовые утилиты UNIX / Cygwin. Как мне настроить ConEmu для запуска Cygwin Bash?
Ответы:
Это может помочь другим.
Похоже, версия 140310 ConEmu автоматически обнаруживает CygWin Bash.
Если вы установили Cygwin после того, как установили ConEmu, вам необходимо перезагрузить ... ваш список задач.
Теперь вы должны увидеть {CygWin bash} как один из вариантов в списке предопределенных задач:
PS - Если этот метод не работает, попробуйте сбросить настройки ConEmu (нажмите кнопку « Сброс» в нижней части окна « Настройки» ).
источник
%SystemDrive%\cygwin64\bin\sh.exe --login -i
для меня на 140304 на канале предварительного просмотра.Add default tasks...
кнопку (прямо надReload
кнопкой) сделало свое дело ...%SystemDrive%\cygwin64\bin\bash.exe --login -i
или вместо
использование
источник
Убедитесь, что Bash получает разумное значение для
$PATH
; обычно он наследует это от того, что его вызывает, но ConEmu - это приложение для Windows, поэтому все, что он собирается предоставить, - это то, для чего вы настроили%Path%
. Обычно это не относится к каталогам пути Cygwin, поэтому Bash не знает, где искатьls
, & c.Я бы решил, что с помощью любых средств, которые ConEmu предлагает для этого, передать
--login -i
Bash в качестве аргументов командной строки; это сказать ему , что вы работаете как интерактивная оболочка, так что он будет читать/etc/profile
,~/.profile
и~/.bashrc
на старте. По моему опыту, этого было достаточно, чтобы придать этому смысл$PATH
; если это не работает для вас, вы можете указать это явно с помощью строки, какPATH=/bin:/usr/bin:/usr/local/bin:[...]:$PATH
у вас~/.bashrc
.источник
/cygdrive/c/cygwin/home
поэтому я удалилhome
и сделал соединение сmklink -J home C:\Users
cmd.exeЭто мой путь
Создайте новое задание в ConEmu с помощью следующей команды
источник
Я знаю, что это довольно старый вопрос, но я все равно хотел поделиться этим:
Чтобы запустить bash в определенном рабочем каталоге, просто установите команду, например, на
SET CHERE_INVOKING=1 & "C:\cygwin\bin\bash.exe --login -i" -cur_console:t:"cygwin terminal"
и укажите рабочий каталог как обычно,/dir "..."
как описано здесь .источник
Чтобы сделать команды 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
переменную, если вы добавляете Cygwinbin
в начале, некоторые команды Cygwin будут затенять встроенные (например, Cygwinfind
будет использоваться вместо Windows ').find
). Я предпочитаю делать это, но если вы этого не сделаете, добавьте Cygwin'sbin
в конце вашего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, где они по праву принадлежат.источник