First page Back Continue Last page Overview Text

Notes:


Die Kommandozeile verfügt wie andere Programmiersprachen auch über Fallunterscheidungen. So lassen sich Teile von Shell-Skripten abhängig davon aufrufen, ob eine Bedingung erfüllt ist.

Während es möglich ist, Fallunterscheidungen auch direkt einzutippen, wird man sie typischerweise jedoch nur innerhalb von Shell-Skripten einsetzen.

In dieser Vorlesung können wir nur die Oberfläche der Möglichkeiten ankratzen, die Fallunterscheidungen bieten. Um zu sehen, wie es generell funktioniert, betrachten wir die folgende Vorgehensweise:

Der if-Teil enthält eine Bedingung, die erfüllt oder nicht erfüllt sein kann. Am Anfang der Bedingung steht für uns immer “test”; das muss so nicht sein, vereinfacht momentan aber die Betrachtung.

Wenn die Bedingung erfüllt ist, werden nur die Zeilen (es kann dort mehr als eine stehen) zwischen “then” und “else” ausgeführt, als ob sie direkt eingegeben wurden. Ist die Bedingung hingegen nicht erfüllt, werden nur die Zeilen zwischen “else” und “fi” ausgeführt. Der “else-Teil für die Nicht-Erfüllung der Bedingung kann auch wegfallen, in diesem Fall folgt das “fi” direkt nach den Zeilen für den “then”-Teil. Ein Beispiel dafür sehen wir später.

Übungsaufgabe 5.14.1

Das obige Skript findet ihr im Übungsverzeichnis unter shell-skripte/bedingung.bash. Probiert es einmal aus:

> ./bedingung eins

> ./bedingung zwei

Übungsaufgabe 5.14.2

“test” ist in Wirklichkeit auch ein Programm. Schaut euch mal die Manual-Page dazu an!