Die Geschichte der Shells: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Image:Bash-logo]] | [[Image:Bash-logo.svg]] | ||
* Shells dienen als Interface zwischen den Programmen und dem Kernel | |||
* Die erste Shell für Unix war die ''Thompson | * Shells dienen als Interface zwischen den Programmen und dem Kernel. | ||
* Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten | * Die erste Shell für Unix war die ''Thompson Shell'' ('''sh'''). | ||
* Das Konzept von [[Bash Pipe|Pipes]] wurde eingeführt, aber das Ausführen von Skripten war nicht unterstützt | * Sie wurde 1971 von Ken Thompson geschrieben und war sehr minimalistisch gehalten. | ||
* 1979 wurde die Bourne Shell ( | * Das Konzept von [[Bash Pipe|Pipes]] wurde eingeführt, aber das Ausführen von Skripten war noch nicht unterstützt. | ||
* Sie | * 1979 wurde die Bourne Shell (ebenfalls '''sh''') von Stephen Bourne veröffentlicht. | ||
** Shell Skripte können wie Programme aufgerufen | * 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: [[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]], ... | ||
** | ** 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. | ||
* Der Code der Bourne Shell war jedoch proprietär, weshalb Brian Fox 1989 die freie Software Bash | * 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 | * Der Name ist ein doppeltes Wortspiel auf „born again“ (wiedergeborene Shell) und „Bourne ... again“ (schon wieder Bourne Shell). | ||
* Diese Version | * Diese Version implementierte weitere Features wie: | ||
** Definieren von Funktionen | ** Definieren von Funktionen. | ||
** Autocomplete | ** Autovervollständigung (Autocomplete). | ||
** Kommando-Historie | ** Kommando-Historie. | ||
** | ** Zusätzliche Umgebungsvariablen wie '''$RANDOM''' und '''$PPID'''. | ||
* Bash ist heute die am weitesten verbreitete Login-Shell und | * 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
- 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:
- 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.