Apple używa powłoki bash jako domyślnej powłoki w systemie macOS, ale ostatnio ją zmienił zsh . Dla wielu użytkowników komputerów Mac było to nieoczekiwane. Co skłoniło Apple do podjęcia tego kroku i jakie były główne obawy stojące za tym posunięciem? Ten artykuł rzuci światło na niedawną decyzję Apple o zmianie domyślnej powłoki z bash na zsh . Zaczynajmy:
Zmiana umowy licencyjnej GNU
Apple jest znane ze swoich zasad i przestrzegania ich. Apple od dawna używa bash jako domyślnej powłoki w systemie macOS. Apple prawie nie zmienia swojej polityki. Szybkie przełączanie sprawiło, że użytkownicy komputerów Mac byli nieco sceptyczni. Bieżąca wersja bash w systemie macOS X to wersja 3.2, podczas gdy najnowsza wersja bash to 5. Apple po prostu nie może zaktualizować wersji bash z powodu sprzecznej kwestii umowy licencyjnej między GNU a Apple.
Warunki licencji GPLv3 zostały zmienione, co jest niezgodne z zasadami Apple, a aby korzystać z najnowszej wersji basha, czyli 5.0, Apple musi zgodzić się z licencją GPLv3.
GPLv3 wprowadził pewne modyfikacje do umowy licencyjnej, a Apple niechętnie się z nią zgadza, ponieważ jest restrykcyjna dla firmy takiej jak Apple. Dlatego Apple zdecydowało się zmienić domyślną powłokę z bash na zsh z macOS Catalina, Big Sur i nowszych.
Dlaczego Zsh?
Głównym powodem przejścia z bash na zsh jest to, że zsh jest bardzo podobny do bash. Tak więc każdy, kto jest nowy w tej powłoce, nie napotka żadnych trudności.
Czy nadal mogę używać Bash w systemie macOS?
Tak, bash może być używany na macOS, ale będzie to wersja 3.2 bash zamiast wersji 5. Chociaż wersja bash 3.2.57 jest stara, Apple może ją rozpowszechniać na licencji GPLv2.
Różnica między bash i zsh
Główną różnicą między bash a zsh jest to, że zsh można w dużym stopniu dostosować. Wykonywanie poleceń jest znacznie lepsze na zsh. Z drugiej strony skrypty napisane w bashu są bardziej uniwersalne ze względu na lepszą kompatybilność. Ze względu na różnice w funkcjonalności skrypty zsh mogą nie działać w środowisku bash.
Końcowe przemyślenia
Niedawna decyzja Apple o rezygnacji z Borne Again Shell (bash) z systemu macOS jest tajemniczą decyzją podjętą po zmianie umowy licencyjnej GNU. Według Apple nowe warunki GPLv3 są restrykcyjne i trudne do przestrzegania przez Apple. Dlatego Apple nie kontynuuje już bash i przechodzi na zsh. Zsh jest dość podobny do bash i wysoce konfigurowalny. Ale użytkownicy komputerów Mac, którzy nadal są zainteresowani używaniem bash, mogą przełączyć się na bash, ale nie mogą używać aktualnej wersji bash.