Die Geschichte der Shells: Unterschied zwischen den Versionen
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 | + | * 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 ( | + | * 1979 wurde die Bourne Shell (ebenfalls '''sh''') von Stephen Bourne veröffentlicht. |
| − | * Sie | + | * Sie sollte als direkter Nachfolger der Thompson Shell mit Skripting-Features dienen: |
| − | ** Shell Skripte können wie Programme aufgerufen | + | ** 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. |
| − | ** | + | ** 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
- 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.