tutorial portable para mac instalar descargar como windows cygwin

portable - descargar cygwin para windows 10 64 bits



Cygwin Bash.exe vs. mintty.exe (1)

Estoy intentando ejecutar comandos de Unix tanto en bash.exe como en mintty.exe , que se encuentran en Cygwin64/bin (por ejemplo, usr / bin / bash.exe). Cuando trato de ejecutar los comandos de Unix ls , recibo bash: ls: command not found . Sin embargo, cuando hago clic en el ícono del escritorio para el terminal de Cygwin, y escribo ls en el terminal de Cygwin resultante, ¡los comandos de Unix como ls funcionan! ¿Por qué los comandos de Unix no funcionan en bash.exe y mintty.exe , pero en el terminal los resultados al hacer clic en el icono? Además, ¿cuál es la diferencia entre los dos shells traídos por bash.exe y mintty.exe ?


Estos dos programas no son en modo alguno alternativas entre sí. Bash es una shell , y MinTTY es un emulador de terminal . MinTTY normalmente ejecuta el shell de su usuario dentro de sí mismo, que puede ser o no Bash. Es decir, normalmente se usan los dos programas juntos.

Si examina el acceso directo de MinTTY que construye el setup.exe de Cygwin, encontrará que no es un simple lanzamiento del programa. Lo ejecuta como mintty - , lo que le dice a MinTTY que ejecute el shell de su usuario como un shell de "inicio de sesión".

Este es el problema que has encontrado. Si ejecuta bash.exe sin opciones, simplemente obtiene la shell desnuda, con su configuración predeterminada, lo que significa que no hace cosas como agregar Cygwin /bin a su PATH . Del mismo modo, si ejecuta mintty.exe sin opciones, ejecuta el shell de su usuario sin opciones. Cuando le da un guión a mintty.exe lugar de un nombre de programa, ejecuta el shell de su usuario como un shell de inicio de sesión: bash -l , en lugar de bash . Esa opción hace que Bash lea un montón de scripts de inicio inmediatamente después del lanzamiento, lo que configura el comando PATH y mucho más.

Por lo tanto, si tuviera que ejecutar bash.exe fuera de MinTTY por alguna razón, podría decir bash -l para obtener un comportamiento más bash.exe al de bash.exe cuando se ejecuta a través de mintty - . Sin embargo, perdería todas las características del emulador de terminal. MinTTY tiene un comportamiento mucho mejor de copiar y pegar que la consola de Windows, por ejemplo, particularmente en Windows 8 y versiones anteriores.

(Windows 10 incluía una consola muy mejorada , pero MinTTY aún es mejor, en mi humilde opinión, especialmente cuando se trabaja con Cygwin).

Diga man mintty en el indicador de comando de Cygwin para obtener una explicación más completa de todas las cosas que MinTTY hace por usted. Esta pregunta en particular fue respondida en la sección de INVOCACIÓN de la página del manual de MinTTY .