Welche Terminal-Shell soll ich nutzen?

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 4 Kommentare

Terminal ist nicht gleich Terminal. Wie bei vielem hat die Anwenderin eine grosse Auswahl. Im Titelbild seht ihr einen Funktionsvergleich der häufigsten Linux Shells.

welche terminal-shell soll ich nutzen?

Ein Mythos bei GNU/Linux-Distributionen, ist die Mär vom Terminal-Zwang. Jede Anwenderin, die Linux länger als ein paar Monate verwendet, kann bestätigen, dass die Nutzung des Terminals eine Offenbarung ist, die man nie mehr missen möchte. Doch das ist ein anderes Thema.

Wer sich bereits am Terminal erfreut hat, muss sich eigentlich nicht darum kümmern, welche Anwendung als Terminal-Shell bei der gewählten GNU/Linux-Distribution als Standard installiert ist. Häufig findet man die Bourne-again Shell (bash) vor; andere Distros liefern gerne die Z-Shell (zsh) aus, und es gibt noch drölfzig andere Terminal-Shells. Einen Überblick der Funktionen hat dan_nanni auf Instagram zusammengestellt.

Welches Terminal für euren Geschmack das Beste ist, hängt nicht nur von der Anwendung ab, sondern auch davon, wie die Maintainer eurer Distribution die Terminal-App konfiguriert haben. Bash ist nicht Bash und Z-Shell ist nicht Z-Shell. Als Beispiel möchte ich das Terminal der Distribution Manjaro aufführen. Manjaro verwendet die Z-Shell, welche nicht der originalen Z-Shell entspricht. Manche Distros verstehen es als Alleinstellungsmerkmal, auch das Terminal für ihre Nutzer:innen anzupassen.

Ich hatte Mühe, ein Bild einer unveränderten Z-Shell zu finden; hier ist eines:

Die meisten Distributionen haben die Fähigkeiten der Z-Shell genutzt und sie entsprechend aufgebohrt. Hier seht ihr einen Screenshot der Z-Shell in Manjaro:

Der Prompt ist teilweise grafisch gestaltet und enthält Git-Informationen.

Wenn ihr überprüfen möchtet, welche Terminal-Shell in eurer Distribution installiert ist, gebt ihr dieses Kommando im Terminal ein: echo $0

Das Titelbild zeigt euch einen Vergleich der verschiedenen Terminal-Shells. Viele Anwender:innen schwören auf die Fish-Shell, andere mögen die Z-Shell, und die grosse Masse ist mit der Bash zufrieden.

Quelle: https://social.anoxinon.de/system/cache/media_attachments/files/111/631/288/055/764/488/original/69ebd166858e9f4b.jpeg

Tags

terminal, Bash, Bash-Shell, ZSH, Z-Shell, Vergleich

Alex
Geschrieben von Alex am 15. Januar 2024 um 20:22

Ich benutze fish sehr gerne. Einmal installiert läuft es mit allem, was ich brauche. So spar’ ich mir das konfigurieren. Bei zsh müsste man dies alles erst konfigurieren.

Klaus
Geschrieben von Klaus am 17. Januar 2024 um 11:47

Ich verstehe dein Argument nicht. "Einmal installiert läuft es mit allem, was ich brauche." Bisher arbeite ich mit Bash und zsh (Mac). Der einzige Unterschied zwischen beiden Shells, der mir bisher aufgefallen ist, dass Bash gerne subshells öffnet. Wenn ich auf der zsh Skripte schreibe, die ich auch in der Bash verwenden werde, muss ich darauf achten, dass ich Unteraufrufe "source"-e. Dann laufen sie auch in der Bash problemlos. Die zsh scheint mit dem sourcen kein Thema zu haben. Der große Vorteil von Bash für mich ist der, dass sie bei vielen Distros die Standard-Shell ist und dass meine Bash-Kentnisse in der zsh und fish unverändert anwendbar sind. Wahrscheinlich bin ich einfach ein zu großes Gewohnheitstier um mich zu verändern.

neffets
Geschrieben von neffets am 18. Januar 2024 um 21:50

Skripte erstelle ich für Bash, da diese Shell eigentlich überall installiert ist. Bei Zsh besteht die Gefahr des Verkonfigurierens bspw. mit https://ohmyz.sh/ . Fish bringt hingegen für mich sinnvolle Defaults mit, wie die Autovervollständigung aus Manpages zu generieren.

Pete
Geschrieben von Pete am 19. Januar 2024 um 21:15

Completely agree. Das beste aus beiden Welten ;)