First page Back Continue Last page Overview Text

Notes:


Die eben vorgestellte Abfrage können wir jetzt in unser hsort-Skript einbauen. Wir wollen erreichen, dass das Skript mit der Fehlermeldung “Die Datei ... ist nicht vorhanden abbricht”, wenn dies zutrifft. Anderenfalls soll das Skript wie gehabt arbeiten.

Dabei nutzen wir aus, dass sich eine Bedingung negieren lässt, indem man nach dem “test” ein ! einfügt. Während die Bedingung “test -e $1” also erfüllt it, wenn die Datei $1 vorhanden ist, so wird “test -e $1” genau dann erfüllt, wenn dies nicht der Fall ist, also die Datei $1 nicht existiert.

Genau diesen Fall brauchen wir, um unsere Fehlermeldung auszugeben: Wenn die Datei nicht vorhanden ist, wird die Fehlermeldung ausgegeben und anschließend “exit 1” aufgerufen. Dies führt dazu, dass das Skript an dieser Stelle beendet wird und der Rest nicht mehr zur Ausführung kommt.

Dieser Test ist auch ein Beispiel dafür, dass man den “else”-Teil der Anweisung weglassen kann. Dieser Teil würde ausgeführt, wenn die Datei $1 vorhanden ist. Aber in diesem Fall ist in dem vorgeschalteten Test nichts zu tun, denn die Ausführung des Skriptes soll dann ja einfach normal weiterlaufen.

Übungsaufgabe 5.17.1

Die erweiterte Version von hsort steht im Übungsverzeichnis unter shell-skripte/hsort4.bash. Probiert es aus:

./hsort4.bash ../planeten2.txt

./hsort4.bash ../gibts.nicht