Anleitung: Upgrade von Bash auf macOS mit Homebrew
May 21, 2017
macOS wird aus Lizenzgründen mit einer veralteten Version von Bash (oft Version 3.x) ausgeliefert. Neueren Bash-Versionen (4.x und 5.x) fehlen dadurch wichtige Funktionen wie assoziative Arrays.
Diese Anleitung beschreibt, wie Sie mit Homebrew eine aktuelle Bash-Version installieren und sie als Ihre Standard-Login-Shell festlegen.
1. Installation der neuen Bash-Version
Stellen Sie sicher, dass Homebrew installiert ist. Führen Sie dann den folgenden Befehl aus, um die neueste verfügbare Bash-Version zu installieren.
brew install bash
Homebrew installiert die neue Bash-Version typischerweise unter /usr/local/bin/bash (Intel-Macs) oder /opt/homebrew/bin/bash (Apple Silicon).
2. Hinzufügen der neuen Shell zur Whitelist
Aus Sicherheitsgründen erlaubt macOS nur bestimmten, in der Datei /etc/shells aufgelisteten Shells, als Login-Shell für einen Benutzer festgelegt zu werden. Sie müssen den Pfad zur neuen Bash-Version zu dieser Datei hinzufügen.
# Ermittelt den Homebrew-Präfix und fügt den Pfad zur neuen Bash-Shell zu /etc/shells hinzu
echo "$(brew --prefix)/bin/bash" | sudo tee -a /etc/shells
brew --prefix: Gibt das Homebrew-Installationsverzeichnis zurück.sudo tee -a: Hängt die Ausgabe an die Datei/etc/shellsan, wofür Administratorrechte erforderlich sind.
3. Neue Bash als Standard-Login-Shell festlegen
Verwenden Sie den chsh (change shell)-Befehl, um Ihre Standard-Shell zu ändern.
chsh -s "$(brew --prefix)/bin/bash"
Sie werden zur Eingabe Ihres Benutzerpassworts aufgefordert.
4. Überprüfung
Um die Änderung zu überprüfen, starten Sie eine neue Terminalsitzung und führen Sie die folgenden Befehle aus:
# Zeigt die aktuell verwendete Shell an
echo "$SHELL"
# Zeigt die Version der Bash an, die jetzt im PATH gefunden wird
bash --version
Die Ausgabe von bash --version sollte nun eine Version von 4.x oder 5.x anzeigen.
Hinweise
- Neues Terminal erforderlich: Die Änderung der Login-Shell wird erst wirksam, wenn Sie ein neues Terminalfenster oder eine neue Sitzung starten.
- Pfad für Apple Silicon: Auf Macs mit Apple Silicon (M1/M2) befindet sich Homebrew unter
/opt/homebrew. Derbrew --prefix-Befehl behandelt dies automatisch korrekt.
Rückgängig machen
Um zur Standard-Bash von macOS zurückzukehren, führen Sie den folgenden Befehl aus und starten Sie Ihr Terminal neu:
chsh -s /bin/bash