Die Geschichte der Shells

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Bash-logo.svg

  • 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 noch nicht unterstützt.
  • 1979 wurde die Bourne Shell (ebenfalls sh) von Stephen Bourne veröffentlicht.
  • Sie sollte als direkter Nachfolger der Thompson Shell mit Skripting-Features dienen:
    • Shell-Skripte können wie Programme aufgerufen und in Pipelines benutzt werden.
    • Kontrollfluss: if, case, for, ...
    • Definieren 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öffentlichte.
  • Der Name ist ein doppeltes Wortspiel auf „born again“ (wiedergeborene Shell) und „Bourne ... again“ (schon wieder Bourne Shell).
  • Diese Version implementierte weitere Features wie:
    • Definieren von Funktionen.
    • Autovervollständigung (Autocomplete).
    • Kommando-Historie.
    • Zusätzliche Umgebungsvariablen wie $RANDOM und $PPID.
  • Bash ist heute die am weitesten verbreitete Login-Shell und bei den meisten Linux-Distributionen Standard.