Zusammenfassung
Sie haben Recht, Git Bash für Windows ist nicht nur bashfü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, findund 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 /alloder format G:mithilfe von ausführen cmd.exe. Diese Befehle sind aktuelle ausführbare Dateien unter C:\Windows\system32, gespeichert als ipconfig.exeund format.comDateien. cmd.exeist von beiden getrennt und lädt und führt sie auf Benutzerwunsch aus.
ssh, scp, cat, findVerwenden laufen bashin genau der gleichen Weise. Sie werden normalerweise unter /usr/binund 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\binder sich auch in der emulierten Linux-Umgebung unter befindet /usr/bin.
Genauso wie die Möglichkeit, nur cmd.exeauf * 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 Cygwinund bereitgestellt MSYS.
Dies ähnelt dem Wine-Projekt , konvertiert jedoch POSIX-> Windows und nicht Windows-> POSIX wie Wine.
Minze
minttyist enthalten, weil cmd.exeim Standard-Windows-Befehlszeilenfenster einige wichtige Funktionen fehlen, die normalerweise auf den meisten * nix-Systemen verfügbar sind. In den meisten Fällen minttyist 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.