Resumen
Tienes razón, Git Bash para Windows no solo se bash
compila para Windows. Es paquete que contiene bash
(que es un shell de línea de comandos ) y una colección de otros, servicios públicos separados * nix como ssh
, scp
, cat
, find
y otros (el que se ejecuta utilizando la cáscara), compilado para Windows, y un nuevo terminal de la interfaz de línea de comandos ventana llamada mintty
.
En una palabra
En Windows puede ejecutar comandos como ipconfig /all
o format G:
usando cmd.exe
. Estos comandos son archivos ejecutables reales C:\Windows\system32
, almacenados como ipconfig.exe
y format.com
archivos. cmd.exe
está separado de ambos y los carga y los ejecuta a petición del usuario.
ssh
, scp
, cat
, find
Se ejecutan utilizando bash
exactamente de la misma manera. Por lo general, se almacenan /usr/bin
en los C:\Windows\system32
sistemas * nix en lugar de en ellos , porque Windows y * nix tienen su estructura de archivos del sistema organizada de manera diferente.
En el caso de Git Bash para Windows, estos programas se encuentran en la carpeta de instalación de Git: C:\Program Files\Git\usr\bin
que también se puede encontrar en el entorno Linux emulado en /usr/bin
.
Al igual que poder ejecutar cmd.exe
en * nix no le permite hacer mucho sin las otras utilidades del sistema, tampoco es muy útil poder ejecutar Bash en Windows. Esto significa que todos estos comandos adicionales deben combinarse con Bash para crear un paquete de software utilizable.
Detalles: aplicaciones POSIX en Windows
Normalmente, esos comandos adicionales se encontrarían en los sistemas * nix y no en Windows, porque se han programado con la API de programación POSIX (que es lo que usa * nix), y no con las API Win32 (que es lo que usa Windows). La documentación de la API POSIX está abiertamente disponible, por lo que algunas personas la han portado a otros sistemas, incluido Windows. La implementación de Windows de las API / bibliotecas POSIX son proporcionadas por Cygwin
y MSYS
.
Esto es algo similar a lo que hace el proyecto Wine , pero convierte POSIX-> Windows en lugar de Windows-> POSIX como Wine lo hace.
mintty
mintty
se incluye porque cmd.exe
, en la ventana de línea de comandos predeterminada de Windows, faltan algunas características importantes que normalmente están disponibles en la mayoría de los sistemas * nix. En la mayoría de los casos, mintty
es una mejor opción para ejecutar comandos (ciertamente para las utilidades que vienen con el paquete Git Bash para Windows), pero ocasionalmente una aplicación de sistema de Windows puede funcionar mejor cmd.exe
.