Die Geschichte der Shells

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Datei:Bash-logo

  • Shells dienen als Interface zwischen den Programmen und dem Kernel
  • Die erste Shell für Unix war die Thompson shell (sh).
  • Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten
  • Das Konzept von Pipes wurde eingeführt, aber das Ausführen von Skripten war nicht unterstützt
  • 1979 wurde die Bourne Shell (auch sh) von Stephen Bourne veröffentlicht
  • Sie soll als direkter Nachfolger der Thompson shell mit Skripting-Features dienen:
    • Shell Skripte können wie Programme aufgerufen werden und in Pipelines benutzt werden
    • Kontrollfluss: if, case, for, ...
    • Deinieren von (Umgebungs-)Variablen
    • Kontrolle über die Verarbeitung von Signalen in Skripten
    • kein Stringlängenlimit für Shell Skripte
  • Der Code der Bourne Shell war jedoch proprietär, weshalb Brian Fox 1989 die freie Software Bash shell (bash) unter der GNU Lizenz veröffentlicht
  • Der Name ist ein doppeltes Wortspiel auf "born again" (wiedergeborene Shell) und "Bourne ... again" (schon wieder Bourne Shell)
  • Diese Version implemenierte weitere Features wie:
    • Definieren von Funktionen
    • Autocomplete
    • Kommando-Historie
    • zusätzliche Umgebungsvariablen wie $RANDOM und $PPID
  • Bash ist heute die am weitesten verbreitete Login-Shell und ist bei vielen Distributionen Standard