![](https://seccdn.libravatar.org/avatar/b6f762bce93171cac3931006c815dc4d.jpg?s=120&d=mm&r=g)
Wagner, Jan wrote:
ich hab leider ein kleines Problem mit der Abfrage von Wahrheitswerten in der Shell-Programmierung.
Ich moechte ein Shellscript schreiben, was unterschiedlich auf die Antwort von Ping reagiert .. [Script-Fragment]
Knackpunkt ist die Auswertung der Ping-Antwort. Koennte mir dabei jemand unter die Arme greifen?? Waere nicht schlecht ..
Es gibt hier mehrere Knackpunkte: 1. Der ping kommt nicht zurück, wenn er erfolgreich ist. Also: ping -c 3 oder so, damit max. 3 Pakete gesendet werden. 2. Die Return-Codes von ping: Mit man ping erhält man: If ping does not receive any reply packets at all it will exit with code 1. On error it exits with code 2. Otherwise it exits with code 0. This makes it possible to use the exit code to see if a host is alive or not. In Deinem Beispiel willst Du ja diesen Returncode auswerten. Ich würde das aber besser folgendermaßen machen: <ungetestet> #! /bin/bash # ping absetzen, Ausgabe ist unwichtig ping -q -c 3 host >/dev/null 2>&1 # Return-code abholen rc=$? # rc auswerten case $rc in 0) alles_ok_bearbeiten;; 1) host_antwortet_nicht_bearbeiten;; 2) ping_fehler_bearbeiten;; esac exit $rc </ungetestet> Trotzdem dauert es im Fall eines nicht erreichbaren Hosts natürlich ein Weilchen, bis ping zurück ist. Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com