Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Shell-Programmierung von Jürgen Wolf
Einführung, Praxis, Referenz
Buch: Shell-Programmierung

Shell-Programmierung
782 S., mit CD, 44,90 Euro
Rheinwerk Computing
ISBN 3-89842-683-1
gp Kapitel 10 Fehlersuche und Debugging
  gp 10.1 Strategien zum Vermeiden von Fehlern
    gp 10.1.1 Planen Sie Ihr Script
    gp 10.1.2 Testsystem bereitstellen
    gp 10.1.3 Ordnung ist das halbe Leben
  gp 10.2 Fehlerarten
  gp 10.3 Fehlersuche
    gp 10.3.1 Tracen mit set -x
    gp 10.3.2 DEBUG und ERR-Signal
    gp 10.3.3 Variablen und Syntax überprüfen
    gp 10.3.4 Eine Debug-Ausgabe hinzufügen
    gp 10.3.5 Debugging-Tools


Rheinwerk Computing

10.2 Fehlerartetoptop

Wenn das Script fertig gestellt ist und es treten Fehler auf, unterscheidet man gewöhnlich zwischen mehreren Fehlerarten:

gp  Syntaxfehler – der wohl am häufigsten auftretende Fehler ist ein Syntaxfehler. Hierbei reicht ein einfacher Tippfehler bspw. in einem Schlüsselwort aus. Schreiben Sie einmal thn statt then, haben Sie schon einen Syntaxfehler. Leider lassen sich solche Fehler häufig nicht so einfach finden. Bspw. gibt bei mir ein Script, in dem then falsch geschrieben ist, folgende Fehlermeldung aus:
you@host > ./script1
./script1: line 19: syntax error near unexpected token `fi'
./script1: line 19: `fi'
    Zu einem sehr gern gemachten Syntaxfehler gehört auch die Verwendung von ' anstelle eines ` bei einer Kommando-Substitution.
       
gp  Logische Fehler – bei diesem Fehler hat sich ein Denkfehler eingeschlichen. Das Script wird zwar ohne eine Fehlermeldung ausgeführt, führt aber nicht zum gewünschten Ergebnis. Ein einfaches Beispiel:
if [ ! -e $creatfile ]
then                      # Nein ...
   touch $creatfile       # Datei anlegen ...
   # Jetzt nochmals überprüfen ...
   if [ -e $creatfile ]
   then
      echo "Konnte $creatfile nicht anlegen"
      exit 1   # Script erfolglos beenden
   else
      echo "$creatfile erfolgreich angelegt"
   fi
fi
    Sofern die Datei $creatfile nicht existiert, gibt das Script Folgendes aus:
       
you@host > ./createfile2
Konnte atestfile.txt nicht anlegen
    Und das, obwohl die Datei angelegt wurde. Hier haben Sie es nicht – wie man häufig vermutet – mit mangelnden Rechten zu tun, sondern mit einem vergessenen Negationszeichen (!) in der zweiten if-Anweisung.
       
# Jetzt nochmals überprüfen ...
if [ ! -e $creatfile ]
    Ein einfacher Fehler, der aber häufig nicht gleich gefunden wird.
       
gp  Fehler der Shell oder der Kommandos – dies wird wohl der seltenste Fall eines Fehlers sein. Dabei handelt es sich um einen Fehler, der nicht Ihre Schuld ist, sondern die des Programmierers der Shell oder des Kommandos. Hier bleibt Ihnen nichts anderes übrig, als den Autor des Kommandos zu kontaktieren und ihm diesen Fehler mitzuteilen oder auf ein anderes Kommando auszuweichen.


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Shell-Programmierung
Shell-Programmierung
bestellen
 Buchtipps
Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-Programmierung


Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern