Die Geschichte der Shells: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ * 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 K…“)
 
 
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Image:Bash-logo.svg]]
  
* Shells dienen als Interface zwischen den Programmen und dem Kernel
+
* Shells dienen als Interface zwischen den Programmen und dem Kernel.
* Die erste Shell für Unix war die ''Thompson shell'' ('''sh''').
+
* Die erste Shell für Unix war die ''Thompson Shell'' ('''sh''').
* Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten
+
* Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten.
* Das Konzept von [[Bash Pipe|Pipes]] wurde eingeführt, aber das Ausführen von Skripten war nicht unterstützt
+
* Das Konzept von [[Bash Pipe|Pipes]] wurde eingeführt, aber das Ausführen von Skripten war noch nicht unterstützt.
* 1979 wurde die Bourne Shell (auch '''sh''') von Stephen Bourne veröffentlicht
+
* 1979 wurde die Bourne Shell (ebenfalls '''sh''') von Stephen Bourne veröffentlicht.
* Sie soll als direkter Nachfolger der Thompson shell mit Skripting-Features dienen:
+
* Sie sollte als direkter Nachfolger der Thompson Shell mit Skripting-Features dienen:
** Shell Skripte können wie Programme aufgerufen werden und in Pipelines benutzt werden
+
** Shell-Skripte können wie Programme aufgerufen und in Pipelines benutzt werden.
 
** Kontrollfluss: [[Bash Der if-Block|if]], [[Bash Der case-Block|case]], [[Bash Die for-Schleife|for]], ...
 
** Kontrollfluss: [[Bash Der if-Block|if]], [[Bash Der case-Block|case]], [[Bash Die for-Schleife|for]], ...
** Deinieren von (Umgebungs-)Variablen
+
** Definieren von (Umgebungs-)Variablen.
** Kontrolle über die Verarbeitung von [[Bash Signalverarbeitung|Signalen]] in Skripten
+
** Kontrolle über die Verarbeitung von [[Bash Signalverarbeitung|Signalen]] in Skripten.
** kein Stringlängenlimit für Shell Skripte
+
** 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 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)
+
* Der Name ist ein doppeltes Wortspiel auf „born again“ (wiedergeborene Shell) und „Bourne ... again“ (schon wieder Bourne Shell).
* Diese Version implemenierte weitere Features wie:
+
* Diese Version implementierte weitere Features wie:
** Deinieren von Funktionen
+
** 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.

Aktuelle Version vom 12. Oktober 2025, 18:59 Uhr

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.