Zusammenfassung
Sie haben Recht, Git Bash für Windows ist nicht nur bash
für Windows kompiliert. Es ist Paket , das enthält bash
(die eine ist die Befehlszeilen - Shell ) und eine Sammlung von anderen, separaten * nix - Utilities wie ssh
, scp
, cat
, find
und andere ( mit dem Sie die Shell ausführen verwenden), für Windows kompiliert und eine neue Kommandozeilen - Schnittstelle Terminal Fenster angerufen mintty
.
In einer Nussschale
Unter Windows können Sie Befehle wie ipconfig /all
oder format G:
mithilfe von ausführen cmd.exe
. Diese Befehle sind aktuelle ausführbare Dateien unter C:\Windows\system32
, gespeichert als ipconfig.exe
und format.com
Dateien. cmd.exe
ist von beiden getrennt und lädt und führt sie auf Benutzerwunsch aus.
ssh
, scp
, cat
, find
Verwenden laufen bash
in genau der gleichen Weise. Sie werden normalerweise unter /usr/bin
und nicht in C:\Windows\system32
* nix-Systemen gespeichert , da die Dateistruktur von Windows und * nix unterschiedlich organisiert ist.
Bei Git Bash für Windows befinden sich diese Programme im Git-Installationsordner:, C:\Program Files\Git\usr\bin
der sich auch in der emulierten Linux-Umgebung unter befindet /usr/bin
.
Genauso wie die Möglichkeit, nur cmd.exe
auf * nix auszuführen, es Ihnen nicht erlaubt, viel ohne die anderen Systemdienstprogramme zu tun, ist es auch nicht sehr nützlich, Bash nur unter Windows ausführen zu können. Dies bedeutet, dass alle diese zusätzlichen Befehle zusammen mit Bash gebündelt werden müssen, um ein verwendbares Softwarepaket zu erstellen.
Details: POSIX-Anwendungen unter Windows
Normalerweise werden diese zusätzlichen Befehle auf * nix-Systemen und nicht unter Windows gefunden, da sie mit der POSIX-Programmierschnittstelle (die von * nix verwendet wird) und nicht mit den Win32-APIs (die von Windows verwendet werden) programmiert wurden. Die POSIX-API-Dokumentation ist offen verfügbar, sodass einige Benutzer sie auf andere Systeme portiert haben, einschließlich Windows. Die Windows-Implementierung von POSIX-APIs / -Bibliotheken wird von Cygwin
und bereitgestellt MSYS
.
Dies ähnelt dem Wine-Projekt , konvertiert jedoch POSIX-> Windows und nicht Windows-> POSIX wie Wine.
Minze
mintty
ist enthalten, weil cmd.exe
im Standard-Windows-Befehlszeilenfenster einige wichtige Funktionen fehlen, die normalerweise auf den meisten * nix-Systemen verfügbar sind. In den meisten Fällen mintty
ist dies die bessere Wahl für die Ausführung von Befehlen (insbesondere für die Dienstprogramme, die mit dem Git Bash für Windows-Paket geliefert werden), aber gelegentlich funktioniert eine Windows-Systemanwendung möglicherweise besser cmd.exe
.