Creé una nueva tarea
{Golpetazo}
pasó mi directorio de inicio
/ dir "C: \ Usuarios \ TMB \"
y agregó bash como aplicación
C: \ cygwin \ bin \ bash.exe
Cuando abro Bash, no puedo usar las utilidades básicas de UNIX / Cygwin. ¿Cómo configuro ConEmu para ejecutar Cygwin Bash?
Respuestas:
Esto podría ayudar a otros.
Parece que la versión 140310 de ConEmu detecta automáticamente CygWin Bash.
Si ha instalado Cygwin después de instalar ConEmu, deberá volver a cargar ... su lista de tareas.
Ahora debería ver {CygWin bash} como una de sus opciones en la lista de tareas predefinidas:
PD: si este método no funciona, intente restablecer la configuración de ConEmu (haga clic en el botón Restablecer ... en la parte inferior de la ventana Configuración ).
fuente
%SystemDrive%\cygwin64\bin\sh.exe --login -i
para mí en 140304 en el canal de vista previa.Add default tasks...
botón (justo encima delReload
botón) hizo el truco ...%SystemDrive%\cygwin64\bin\bash.exe --login -i
o en lugar de
utilizar
fuente
Asegúrese de que Bash esté recibiendo un valor razonable para
$PATH
; generalmente hereda eso de lo que sea que lo llame, pero ConEmu es una aplicación de Windows, por lo que todo lo que proporcionará es lo que haya establecido%Path%
. En general, eso no incluye los directorios de ruta de Cygwin, por lo que Bash no sabe dónde buscarls
, & c.La forma en que resolvería esto sería, por cualquier medio que ConEmu ofrezca para hacerlo, pasar
--login -i
como argumentos de línea de comandos a Bash; esto le dirá que usted está funcionando como un intérprete interactivo de ingreso, por lo que va a leer/etc/profile
,~/.profile
y~/.bashrc
en el arranque. En mi experiencia, eso ha sido suficiente para darle un sentido$PATH
; si eso no funciona para usted, puede especificarlo explícitamente con una línea comoPATH=/bin:/usr/bin:/usr/local/bin:[...]:$PATH
en su~/.bashrc
.fuente
/cygdrive/c/cygwin/home
así que eliminéhome
e hice un cruce conmklink -J home C:\Users
cmd.exeEsta es mi manera
Cree una nueva tarea en ConEmu con el siguiente comando
fuente
Sé que es una pregunta bastante antigua, pero quería compartir esto de todos modos:
Para iniciar el bash dentro de un directorio de trabajo específico, simplemente configure el comando, por ejemplo,
SET CHERE_INVOKING=1 & "C:\cygwin\bin\bash.exe --login -i" -cur_console:t:"cygwin terminal"
y especifique el directorio de trabajo normalmente/dir "..."
como se describe aquí .fuente
Para que los comandos de Cygwin estén disponibles desde
bash
, independientemente de cómo lo ejecute, así como desdecmd
cualquier otro shell, asegúrese de que suPath
variable de entorno tengabin
agregado el directorio de Cygwin .Vaya a
Control Panel > System and Security > System
(tecla de acceso rápido estándarWin+Pause
), entoncesAdvanced system settings > Environment variables
. Para todos los usuarios, edite laPath
variable del sistema , solo para su usuario: edite (cree si no existe) laPath
variable de usuario .Suponiendo que
cygwin
esté instalado enC:\cygwin
(podría ser cygwin64 para Cygwin de 64 bits), agregueC:\cygwin\bin
aPath
. Tenga en cuenta que si usa laPath
variable del sistema , si agrega Cygwinbin
al principio, algunos comandos de Cygwin sombrearán los incorporados (por ejemplo, Cygwinfind
se usará en lugar de Windows 'find
) Prefiero hacerlo, pero si no lo haces, agrega Cygwin'sbin
al final de tuPath
.Como la mayoría de las otras respuestas también hablan sobre la configuración de ConEmu, también daré mi opinión personal.
Prefiero ejecutar un shell sin inicio de sesión. Por ejemplo, en Linux obtienes un shell de inicio de sesión cuando inicias sesión en la consola de texto o mediante ssh, y un shell interactivo sin inicio de sesión cuando abres un emulador de terminal (xterm, konsole, etc.).
Mi tarea {Bash} tiene
/dir "%CD%"
parámetros de tarea para establecer el directorio de trabajo en el directorio de trabajo de la pestaña actual (por ejemplo, si la tarea bash es Far). El comando para iniciar bash:%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
--login -i
Se omiten las opciones de aviso , el shell comenzará como un shell interactivo sin inicio de sesión (ya que no tiene argumentos sin opciones y sin la opción -c, y sus stdin y stdout están conectados a terminales, consulte la sección de INVOCACIÓN de la página de manual de bash para obtener más información). explicación). Leerá y ejecutará comandos del usuario rcfile~/.bashrc
(no/etc/profile
o~/.bash_profile
como lo haría un shell de inicio de sesión, por lo que no es necesario para loset CHERE_INVOKING=1
que solo es relevante con respecto a/etc/profile
). Por lo tanto, coloque sus alias de usuario, opciones de shell, variables de entorno adicionales, etc. a ~ / .bashrc, donde pertenecen legítimamente.fuente