Vor- und Nachteile verschiedener Shells

Ratgeber: Shells für Linux und Unix richtig nutzen

Was für Windows die Eingabeauffordung, ist unter Linux / Unix die Shell. Der Benutzer hat dabei die Wahl zwischen verschiedenen Shells, von denen wir hier acht detaillierter vorstellen. Sie ermöglichen es dem Nutzer, direkten Kontakt zum Betriebssystem aufzunehmen.

Linux- / Unix-Nutzer sind in der Wahl ihrer Werkzeuge wesentlich freier als Windows-Anwender. Sie können einerseits zwischen verschiedenen grafischen Desktops wie Enlightenment, GNOME, KDE, LXDE und Xfce wählen. Und während es auf der Konsole in Windows nur cmd.exe und die sogenannte Powershell gibt, kann man in Unix verschiedene Shells als Kommandointerpreter nutzen. Welche das sein können, steht in der Datei /etc/shells, die etwa in Ubuntu folgenden Inhalt hat:

# /etc/shells: valid login shells

/bin/csh

/bin/sh

/usr/bin/es

/usr/bin/ksh

/bin/ksh

/usr/bin/rc

/usr/bin/tcsh

/bin/tcsh

/usr/bin/esh

/bin/dash

/bin/bash

/bin/rbash

/usr/bin/screen

Von den gelisteten Shells sind nicht alle installiert, lediglich sh, dash, bash, rbash und screen stehen in der Anfangskonfiguration zur Verfügung. Die anderen kann der Administrator bei Bedarf nachträglich installieren. Möchte man eine Shell ausprobieren, kann der Benutzer diese direkt am Prompt mit der Eingabe des Befehls starten. Eine Übersicht über die Möglichkeiten liefern die entsprechenden Manpages.

Hilfreich: In der Datei /etc/shells steht, welche Shells auf einem Linux-System unterstützt werden.
Hilfreich: In der Datei /etc/shells steht, welche Shells auf einem Linux-System unterstützt werden.

Shell wechseln

Wenn Sie zu einer anderen Shell wechseln wollen, hilft das Kommando chsh. Hier wird zuerst die aktuelle Shell angezeigt, anschließend kann eine neue eingegeben werden; achten Sie darauf, dass Sie den gesamten Pfad angeben, etwa /bin/dash. Die einzige Einschränkung für die Login-Shell ist, dass der Name des Befehls in der Datei /etc/shells enthalten sein muss. Root darf allerdings jeden beliebigen Befehl ausführen.

Freie Auswahl: Mit dem Befehl chsh kann der Benutzer die Login-Shell wechseln. Die Manpage erklärt, wie das geht.
Freie Auswahl: Mit dem Befehl chsh kann der Benutzer die Login-Shell wechseln. Die Manpage erklärt, wie das geht.

Bei Konten mit einer eingeschränkten Login-Shell kann diese nicht geändert werden. Die Manpage zu chsh empfiehlt, diese nicht in die Datei /etc/shells einzutragen, weil Benutzer nicht von sich aus zu der ursprünglichen Login-Shell zurückwechseln können. Diesem Rat folgend sollte ein Ubuntu-Administrator die Zeile /bin/rbash in der Datei /etc/shells löschen oder auskommentieren.

Tipp: Will der Administrator für alle künftigen Benutzer die Shell wechseln, tut er das am besten in der Datei /etc/adduser.conf. Dort steht in der Zeile "DSHELL=" die Standard-Shell für Neuzugänge.