Ändern Sie die Standard-Shell von bash in zsh

Ich habe versucht, meine Standard-Shell aufzsh umzustellen , indem ich Folgendes verwende chsh:

chsh -s /bin/zsh

und:

chsh -s `which zsh` 

Beide Befehle endeten mit:

Changing shell for adamatan.
Password for adamatan:
chsh: Operation is not supported by the directory node.  Operation is not supported by the directory node.
chsh: no changes made

Wie kann ich meine Standard-Shell in OSX Lion ändern?

Können Sie Ihren Beitrag bearbeiten, um zu bestätigen (oder zu verneinen), dass Sie ein Netzwerkbenutzer in einem Verzeichnis sind (oder nicht sind)?
Ich habe es mit Sierra (10.12) versucht und das funktioniert.

Antworten (4)

macOS Catalina und höher (10.15+)

Apple hat bash durch zsh als Standard-Shell für neue Benutzerkonten ersetzt. Siehe Artikel .

Sie können die Standard-Shell überprüfen, indem Sie echo $0das Terminal eingeben.

macOS Mojave und früher (10.14-)

Siehe Apple Support-Seite, Verwenden Sie zsh als Standard-Shell auf Ihrem Mac

Überraschenderweise funktioniert dies mit den Befehlszeilentools nicht so, wie man es erwarten würde. Dies muss mit der Systemeinstellungen- App erfolgen.

Die folgenden Schritte funktionieren mit mehreren Versionen von Mac OS X bis mindestens 10.11 ( El Capitan ).

  1. Öffnen Sie das Bedienfeld „Benutzer & Gruppen“ in der App „Systemeinstellungen“.
  2. Stellen Sie sicher, dass das Bedienfeld entsperrt ist (unten links)
  3. Klicken Sie mit der rechten Maustaste auf Ihren Benutzernamen (oben links) und wählen Sie „Erweiterte Optionen...“ aus. Dies ist nur verfügbar, wenn Sie ein Administrator sind.

Geben Sie hier die Bildbeschreibung ein4. Ändern Sie den Wert von "Login-Shell" auf /bin/zsh.

Geben Sie hier die Bildbeschreibung ein5. Drücken Sie die OK-Taste, um Ihre Änderung zu speichern.

Sie sollten darauf achten, keine anderen Felder zu ändern, wie in der Warnung oben in diesem Dialogfeld angegeben. Wenn Sie Zweifel haben, drücken Sie die Schaltfläche "Abbrechen" und versuchen Sie es erneut.

Wenn Sie mit einem Open Directory-Server oder einem anderen Verzeichnisserver verbunden sind, muss dort die Standard-Shell angegeben werden.

Insbesondere wenn Sie mit einem Microsoft Active Directory verbunden sind, können Sie das Verzeichnisdienstprogramm verwenden, um die Standard-Shell zu ändern, wie hier beschrieben .

Sie können zsh immer einfach zu Ihrem Bash-Profil hinzufügen, damit es als Problemumgehung bei der Anmeldung aufgerufen wird.

Verwenden Sie einfach den Befehl chsh -u username, um Ihr Profil zu bearbeiten

Zusätzlich zu den anderen Antworten müssen Sie möglicherweise zu Terminal -> Einstellungen -> Allgemein gehen und "Shell öffnet mit" in "Standard-Anmelde-Shell" ändern.