Kontrollstrukturen II : Die erweiterten if…then statements

Das um ein elif erweiterte if..then…statement erlaubt uns, nach einer negativ abgeprüften Bedingung eine weitere Bedingung zu erstellen und abzufragen. Dieser elif- Zweig kann nach Belieben weiter verschachtelt werden. Das case- statement bietet uns die gleiche Funktionalität. Es wird aufgrund seiner besseren Lesbarkeit und Übersichtlichkeit bevorzugt.

2_if_then_elif_fi

 

Codebeispiel:

if…then…elif…statement für die Linux Bash

#! /bin/bash# Shellscript liest usereingabe aus
# bei falscher Eingabe wird über den elif Zweig die Eingabe wiederholt geprüft
# und entsprechend mit Kommandos reagiert
read -p “ Geben Sie bitte eine Zahl zwischen 1 und 3 ein     “  EINGABE
if           test $EINGABE -eq 2
then
echo „du hast die richtige Zahl eingegeben“
elif       test $EINGABE -lt 2
then
echo “ versuch es mal mit einer größeren Zahl kleiner 3″
else
echo „versuch es mal mit einer Zahl größer 1!“
fi

 

 

Kontrollstrukturen I : Die if…then statements

Wichtige Werkzeuge der Programmiersprachen sind die sogenannten Kontrollstrukturen. Sie erlauben uns, auf abgefragte Bedingungen zu reagieren. Schleifenkonstrukte ermöglichen uns, wiederholte Anweisungen zu automatisieren.

Das einfachste Beispiel einer Reaktion auf eine Bedingung realisiert das if…then…fi statement. Trifft eine abgeprüfte Bedingung zu, werden gewünschte Kommandos ausgeführt. Trifft die abgeprüfte Bedingung nicht zu, geschieht nichts und das Script wird entweder beendet oder nach dem fi (umgedrehtes if als Zeichen für das Ende des Statements) werden weitere im Script geschriebene Befehle ausgeführt.
„A condition is nothing but an expression that evaluates to a boolean value (true or false).“

Das um das „else“ erweiterte if…then…else…if statemant bietet uns die Möglichkeit, auf ein Nicht-Eintreten einer Bedingung mit alternativen Kommandos zu reagieren.

if_then_else

Codebeispiel: if…then…statement für die Linux Bash

#! /bin/bash
# if..then loop prüft, ob Antwort-String „Berlin“ lautet
# ist der Eingabewert korrekt, wird Antwort ausgegeben
# Falls Eingabewert nicht korrekt, Sprung zum Ende des statements ohne Fehlermeldung

read -p „Welche Stadt wird auch als Spreeathen bezeichnet?    “ EINGABE
if test $EINGABE == „Berlin“
then echo „Richtig, Berlin wird auch als Spreeathen bezeichnet“
fi

Codebeispiel: if…then…else..statement:

#! /bin/bash
# if..then..else loop prüft, ob Antwort-String „Berlin“ lautet
# falls Antwortstring nicht gleich „Berlin“, wird Fehlermeldung ausgegeben

read -p „Welche Stadt wird auch als Spreeathen bezeichnet?    “ EINGABE
if test $EINGABE == „Berlin“
then echo „Richtig, Berlin wird auch als Spreeathen bezeichnet“
else echo „Sorry, wrong answer!“
fi