Dlaczego OS X ma bash v3.2.57?

Odpowiedzi:

9

Zwróć uwagę na pierwotne pytanie, dlaczego Apple dostarczyło starą wersję bash, a następnie zapytało, jak zaktualizować. To jest odpowiedź na oryginał. Jeśli pytanie jest tylko tym drugim, to jest duplikatem

Musisz zapytać Apple, dlaczego. Chciałbym jednak zauważyć, że bash jest teraz licencjonowany na licencji GPLv3, a 3.2.57 jest ostatnią wersją wydaną na licencji GPL2.

Ponieważ bash znajduje się w / bin, nie powinieneś go zastępować bezpośrednio, ponieważ Apple może to w dowolnym momencie zaktualizować lub zmodyfikować, a teraz w SIP trudniej jest go zmienić. Również skrypty gdzie indziej mogą zależeć od tej wersji

Możesz jednak dodać bash z GNU lub menedżera pakietów, takiego jak Macports lub Homebrew. Następnie możesz zmienić profil Terminal.app, aby uruchomić tę powłokę zamiast bash

Macports jest

sudo port install bash

Homebrew jest

brew install bash

Od 14.06.2016 - stabilna wersja bash to 4.3.42, a aktualizacje zazwyczaj przychodzą szybko przez oba systemy portów.

Lub możesz zmienić powłokę na inną, którą Apple dostarcza np. Zsh, który jest silniejszy niż bash (wersja do daty wydania El Capitan) lub ksh, który jest aktualny. (lub tcsh, który jest powłoką C, ale także w miarę aktualny)

użytkownik151019
źródło
Niezła odpowiedź! Bardzo dobre wytłumaczenie. Jak mogę zmienić na Zsh? Czy gdzieś jest dobry podręcznik tej powłoki? Wielkie dzięki!