Containy Geschrieben 9. Dezember 2004 Teilen Geschrieben 9. Dezember 2004 Hallo, hoffe ich bin hier richtig. Sonst bitte ich nen Mod diesen Thread zu verschieben! Ich möchte mir ein Shellskript schreiben das genau folgendes macht: i=0 while [ $i -le 254 ] do i = `expr $i + 1` ping -c 2 192.168.1.$i >> /log/pingstat.txt done Nun muss ich zugeben, dass ich von Shellprogrammierung keine Ahung habe, aber wenn ich das ausführe bekomme ich eine Endlosschleife mit der ausgabe: ./pingstat: i: command not found ping: unknown host 192.168.20. Die letzte Meldung ist logisch, die erste check ich nicht so wirklich, weil i ist doch eine Variable und kein Befehl. Howtos kenn ich schon, aber wenn es sein ist wühl ich mich da noch tiefer rein. Tschö und Gruß, Containy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 9. Dezember 2004 Teilen Geschrieben 9. Dezember 2004 #!/bin/sh HOST=1 MYNET=192.168.1 MYLOG=/var/log/pinglog while [ ${HOST} -lt 255 ] do ping -q -c 2 ${MYNET}.${HOST} >/dev/null 2>&1 if [ $? -eq 0 ] then echo Host ${MYNET}.${HOST} reachable >> ${MYLOG} else echo Host ${MYNET}.${HOST} unreachable, error code $? >> ${MYLOG} fi let HOST=${HOST}+1 done exit 0 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 9. Dezember 2004 Teilen Geschrieben 9. Dezember 2004 ./pingstat: i: command not found Die letzte Meldung ist logisch, die erste check ich nicht so wirklich, weil i ist doch eine Variable und kein Befehl. Dann hast du vermutlich zwischen i , = und dem wert leerzeichen gesetzt. Shell mag das nicht. Falsch: VARIABLE = WERT Richtig: VARIABLE=WERT Ansonsten sollte deins auch gehen, aber ich habs mal frisiert mit Errorcode-Abfrage vom ping und dem let anstelle des expr. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Containy Geschrieben 9. Dezember 2004 Autor Teilen Geschrieben 9. Dezember 2004 Dann hast du vermutlich zwischen i , = und dem wert leerzeichen gesetzt. Shell mag das nicht. Falsch: VARIABLE = WERT Richtig: VARIABLE=WERT Ansonsten sollte deins auch gehen, aber ich habs mal frisiert mit Errorcode-Abfrage vom ping und dem let anstelle des expr. Joa das wars auch, ich hatte bei der zweiten Variableninitialisierung ein Leerzeichen drin. Danke. Dein Script ist natürlich der Hammer. Hat mir aber gleich was beigebracht, nochmal danke. Tschö, Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.