Warum hat OS X Bash v3.2.57?

OS X wird mit der Bash-Version 3.2.57 anstelle der Bash-Version 4.3.39 geliefert, die GNU als die aktuelle stabile Version von Bash auflistet .

Gibt es eine Möglichkeit, Bash unter Mac OS X zu aktualisieren?

Antworten (1)

Beachten Sie die ursprüngliche Frage, warum Apple eine alte Version von bash ausgeliefert und dann gefragt hat, wie ein Upgrade durchgeführt werden kann. Dies ist eine Antwort auf das Original. Wenn die Frage nur letzteres ist, dann ist es ein Duplikat

Warum das so ist, müsste man Apple fragen. Ich möchte jedoch anmerken, dass bash jetzt unter GPLv3 lizenziert ist und 3.2.57 die letzte Version ist, die unter GPL2 veröffentlicht wurde.

Da bash in /bin ist, sollten Sie es nicht direkt ersetzen, da dies jederzeit von Apple aktualisiert oder geändert werden kann und jetzt mit SIP auch schwieriger zu ändern ist. Auch Skripte an anderer Stelle könnten von dieser Version abhängen

Sie können jedoch bash von GNU oder von einem Paketmanager wie Macports oder Homebrew hinzufügen. Sie können dann das Terminal.app-Profil ändern, um diese Shell statt Bash zu starten

Macport ist

sudo port install bash

Hausgemacht ist

brew install bash

Ab dem 14.6.16 ist die stabile Version von bash 4.3.42 und Updates kommen normalerweise schnell über beide Portsysteme.

Oder Sie könnten Ihre Shell auf eine andere ändern, die Apple bereitstellt, zB zsh, das leistungsfähiger ist als bash (Version auf dem neuesten Stand der Veröffentlichung von El Capitan) oder ksh, das auf dem neuesten Stand ist. (oder tcsh, das ist eine C-Shell, aber auch halbwegs aktuell)

Gute Antwort! Sehr gute Erklärung. Wie kann ich zu zsh wechseln? Gibt es irgendwo ein gutes Handbuch dieser Shell? Danke vielmals!
Es ist erwähnenswert, dass ksh und tcsh beide ziemlich alte Shells mit einer sehr kleinen Anhängerschaft sind. Für diejenigen, die eine Bash-Alternative suchen, sind zsh und fish moderner und werden häufig empfohlen. zsh ist die Standard-Shell in macOS seit Catalina im Jahr 2019. Sehen Sie sich diese Grafik zu Stack Overflow-Trends für die Popularität von bash, zsh und ksh an – die anderen haben keine Tags.