Dies ist eine alte Version des Dokuments!


shell

Die Shell ist eine Kommandozeilenumgebung, mit der man Befehle auf einem Betriebssystem ausführen kann. Es gibt verschiedene Arten von Shells, die sich in ihrer Funktionalität, Syntax und Features unterscheiden. Hier sind die Hauptunterschiede zwischen sh, bash und zsh:

===sh (Bourne Shell)===
Entstehung: Entwickelt von Stephen Bourne in den 1970er Jahren.
Standard-Shell: Die Bourne Shell war lange die Standard-Shell auf UNIX-Systemen.
Minimalistisch: Sie unterstützt nur grundlegende Befehle und Skripting-Funktionen.
Portabilität: Skripte, die in sh geschrieben wurden, laufen auf fast allen UNIX-ähnlichen Systemen.
Kein Command History oder Autovervollständigung.

bash (Bourne Again Shell)

Entstehung: Entwickelt in den 1980er Jahren als Erweiterung der Bourne Shell.
Standard unter Linux: Die meisten Linux-Distributionen nutzen bash als Standard-Shell.

Verbesserungen gegenüber sh:

  • Command History (Pfeiltasten zum Navigieren in vorherigen Befehlen).
  • Autovervollständigung (Tab-Taste für Befehls- und Dateinamenvervollständigung).
  • Aliase und erweiterte Skripting-Funktionen.
  • Arithmetische Operationen $1).


zsh (Z Shell)

Entstehung: Entwickelt in den 1990er Jahren als noch leistungsfähigere Shell.

Features gegenüber bash:

  • Erweiterte Autovervollständigung (z.B. Menüauswahlbei Tab-Vervollständigung).
  • Bessere Anpassbarkeit mit Oh-My-Zsh (Themes, Plugins).
  • Globale Aliase (man kann Befehle abkürzen und überall verwenden).
  • Kommando-Korrektur (automatische Erkennung von Tippfehlern).


Fazit:

  • sh ist minimalistisch und für Portabilität gut.
  • bash ist die weitverbreitete Standard-Shell unter Linux.
  • zsh bietet die meisten Komfortfunktionen, insbesondere mit Oh-My-Zsh.


Wenn du eine moderne, leistungsfähige Shell möchtest, ist zsh mit Oh-My-Zsh eine sehr gute Wahl. Wenn du Skripte schreiben willst, die auf allen UNIX-Systemen laufen, ist sh die sicherste Option.


1)
1 + 2