streszczenie
Masz rację, Git Bash dla Windows to nie tylko bashkompilacja dla Windows. Jest to pakiet, który zawiera bash(co jest powłoka wiersza polecenia ) oraz zbiór innych, oddzielnych * narzędzi uniksowych takich jak ssh, scp, cat, findi innych (które pracuje z wykorzystaniem powłoki), opracowanych dla systemu Windows, a nowy terminal interfejs wiersza poleceń okno o nazwie mintty.
W skrócie
W systemie Windows możesz uruchamiać polecenia takie jak ipconfig /alllub format G:za pomocą cmd.exe. Te polecenia są rzeczywistymi plikami wykonywalnymi w C:\Windows\system32, przechowywanymi jako ipconfig.exei format.complikami. cmd.exejest oddzielny od i ładuje i uruchamia je na żądanie użytkownika.
ssh, scp, cat, findSą prowadzone przy użyciu bashdokładnie w ten sam sposób. Zazwyczaj są one przechowywane /usr/binw C:\Windows\system32systemach * nix, a nie w nich , ponieważ Windows i * nix mają inną strukturę plików systemowych.
W przypadku Git Bash dla Windows programy te znajdują się w folderze instalacyjnym Git:, C:\Program Files\Git\usr\binktóry można również znaleźć w emulowanym środowisku Linux pod /usr/bin.
Podobnie jak możliwość uruchomienia cmd.exena * Nixie nie pozwala ci wiele zrobić bez innych narzędzi systemowych, tak samo możliwość uruchamiania Bash na Windowsie również nie jest bardzo przydatna. Oznacza to, że wszystkie te dodatkowe polecenia muszą być połączone z Bash, aby stworzyć użyteczny pakiet oprogramowania.
Szczegóły: aplikacje POSIX w systemie Windows
Zwykle te dodatkowe polecenia można znaleźć w systemach * nix, a nie w systemie Windows, ponieważ zostały one zaprogramowane w interfejsie API programowania POSIX (który jest używany przez * nix), a nie w interfejsach API Win32 (który używa Windows). Dokumentacja API POSIX jest jawnie dostępna, więc niektóre osoby przeniosły ją na inne systemy, w tym Windows. Implementacja interfejsów API / bibliotek POSIX w systemie Windows jest zapewniana przez Cygwini MSYS.
Jest to trochę podobne do tego, co robi projekt Wine , ale konwertuje POSIX-> Windows zamiast Windows-> POSIX, podobnie jak Wine.
miętowy
minttyjest dołączony, ponieważ cmd.exew domyślnym oknie wiersza poleceń systemu Windows brakuje niektórych ważnych funkcji, które normalnie są dostępne w większości systemów * nix. W większości przypadków minttyjest lepszym wyborem do uruchamiania poleceń (z pewnością dla narzędzi dostarczanych z pakietem Git Bash dla Windows), ale czasami aplikacja systemowa Windows może działać lepiej cmd.exe.