Ping-Script

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von onlineuser, 10.05.2006.

  1. #1 onlineuser, 10.05.2006
    onlineuser

    onlineuser Mitglied

    Dabei seit:
    05.05.2006
    Beiträge:
    34
    Zustimmungen:
    0
    Hi,

    muss folgendes Script schreiben:

    Code:
    Schreiben Sie ein Skript, dass alle 60 Sekunden testet ob alle als Argumente
    angegebenen Rechner per Ping erreichbar sind. Ausgabe:
    Zuerst die erreichbaren, aufsteigend sortiert nach mittlerer RTT, dann
    unerreichbare.
    Hinweis: Pause innerhalb von Skripts: mit sleep, siehe Manpage
    Code:
    #!/bin/bash
    clear
    echo "Aufgabe 2.4"
    if [ $# -eq 0 ]; then
      echo "zu anpingende IP-Nummern als Parameter angeben"
    else
      #$* enthält alle Parameter, $# enthält Anzahl der Parameter
      for ip in $*
      do
        echo $ip 
        ping=$(ping -c 5 $ip)
        echo $ping | cut -d "=" -f2 | cut -d "/" -f2     #rtt average auslesen
      done
    Bis jetzt sieht es mal so aus. Jedoch, wenn die Gegenstelle nicht anpingbar ist, kann man auch keinen rtt-Wert auslesen.

    Kann mir noch jemand bitte eine Ideen geben, wie ich diese Aufgabe lösen soll?

    Solte ich alles in ein Array schreiben bezüglich der Sortierung? ODer wie könnte ich das sonst realisieren?

    Liebe Grüsse.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 10.05.2006
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Code:
    Kann mir noch jemand bitte eine Ideen geben, wie ich diese Aufgabe lösen soll?
    Wieso?

    Du bist doch fast schon fertig.

    Prüf halt den Rückgabewert von ping, je nach Erreichbarkeit weißt du dann auch ob du den RTT berechnen kannst oder nicht.

    Mach dir ein zweidimensionales Array und speicher darin die Ips mit den zugehörigen RTTs. Das kannst du dann mit dem Befehl sort entsprechend sortieren und ausgeben lassen.

    Eleganter würde es mit Hashs (=assoziatives array) gehen, das kennt die Bash aber leider nicht.
     
  4. #3 onlineuser, 10.05.2006
    onlineuser

    onlineuser Mitglied

    Dabei seit:
    05.05.2006
    Beiträge:
    34
    Zustimmungen:
    0
    Hi,

    ok, dann mach ich es mit einem Array. Zuerst dachte ich an einen Output in eine Datei und diese dann einfach mit sort und awk dementsprechend sortieren bzw. ausgeben.

    Liebe Grüsse.
     
Thema:

Ping-Script