Sommaire
Vous avez raison, Git Bash pour Windows n'est pas uniquement bashcompilé pour Windows. Il paquet de contenant bash(qui est un shell en ligne de commande ) et une collection d'autres, des utilitaires distincts * nix comme ssh, scp, cat, findet d' autres (que vous exécutez à l' aide du shell), compilé pour Windows et un nouveau terminal d'interface de ligne de commande fenêtre appelée mintty.
En un mot
Sous Windows, vous pouvez exécuter des commandes telles que ipconfig /allou en format G:utilisant cmd.exe. Ces commandes sont des fichiers exécutables sous C:\Windows\system32, stockés en tant que ipconfig.exeet format.comfichiers. cmd.exeest séparé des deux et les charge et les exécute à la demande de l'utilisateur.
ssh, scp, cat, findSont exécutés en utilisant bashexactement de la même manière. Ils sont généralement stockés sous des systèmes * nix /usr/binplutôt que C:\Windows\system32sur des systèmes, car Windows et * nix ont une structure de fichiers système organisée différemment.
Dans le cas de Git Bash pour Windows, ces programmes se trouvent dans le dossier d’installation de Git:, C:\Program Files\Git\usr\binqui se trouve également dans l’environnement Linux émulé sous /usr/bin.
Tout comme pouvoir simplement utiliser cmd.exe* nix ne vous permet pas de faire beaucoup sans les autres utilitaires du système, le simple fait de pouvoir exécuter Bash sous Windows n’est pas non plus très utile. Cela signifie que toutes ces commandes supplémentaires doivent être associées à Bash pour créer un progiciel utilisable.
Détails: applications POSIX sous Windows
Normalement, ces commandes supplémentaires se trouvent sur les systèmes * nix et non sur Windows, car elles ont été programmées sur l'API de programmation POSIX (utilisée par * nix) et non sur les API Win32 (utilisée par Windows). La documentation de l'API POSIX est disponible en accès libre. Certaines personnes l'ont donc transférée sur d'autres systèmes, notamment Windows. Les implémentations Windows des API / bibliothèques POSIX sont fournies par Cygwinet MSYS.
Cela ressemble à ce que fait le projet Wine , mais il convertit POSIX-> Windows plutôt que Windows-> POSIX comme le fait Wine.
menthe
minttyest incluse car cmd.exela fenêtre de ligne de commande Windows par défaut manque certaines fonctionnalités importantes, normalement disponibles sur * la plupart des systèmes * nix. Dans la plupart des cas, il minttys'agit d'un meilleur choix pour l'exécution de commandes (certainement pour les utilitaires fournis avec le package Git Bash pour Windows), mais il peut arriver qu'une application système Windows fonctionne mieux cmd.exe.