TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸

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.

code
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.

code
# 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/shells an, 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.

code
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:

code
# 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. Der brew --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:

code
chsh -s /bin/bash