Erklärung zu ping Zeile

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von pospiech, 14.07.2006.

  1. #1 pospiech, 14.07.2006
    pospiech

    pospiech Doppel-As

    Dabei seit:
    29.07.2003
    Beiträge:
    112
    Zustimmungen:
    0
    Ich habe nach einer Möglichkeit gesucht die Existens eines Rechners im Netz zu überprüfen und dabei folgendes gefunden
    Code:
    if (ping -c 1 -n -w 2 MatthiasMobil > /dev/null 2>&1) ; then
    
    Die Ping Anweisung selbst verstehe ich, jedoch den Teil danach nicht.

    Kann mir dazu jemand eine kurze Erklärung geben ?

    Matthias
     
  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. hwj

    hwj Doppel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    131
    Zustimmungen:
    0
    Ort:
    Bei Buxtehude
    Code:
    >/dev/null
    kennst Du sicher, "/dev/null" ist das "schwarze Loch" im Unix-System, dorthin kann man alles schreiben, was man nicht braucht.

    Code:
    2>
    Ist in der shell (/bin/sh) der Fehlerkanal, in "C" wäre das stderr, in perl STDERR.

    Code:
    &1
    ist eine Abkürzung für "da wo stdout" hingeht - in diesem Fall auch /dev/null.

    Gruss
    Heiko
     
  4. #3 pospiech, 14.07.2006
    pospiech

    pospiech Doppel-As

    Dabei seit:
    29.07.2003
    Beiträge:
    112
    Zustimmungen:
    0
    Das heißt die Ausgabe als auch die Fehlermeldung wird nach /dev/null geleitet.
    Dann verstehe ich aber nicht warum trotzdem ein TRUE rauskommt, wenn doch alle Ausgaben verschwinden.

    Um das ganze schöner zu gestalten habe ich das ganze in eine function gepackt
    Code:
    # --------------------------------------------------------- #
    server_exists ()
    {
    	TESTSERVER=$1
    	if (ping -c 1 -n -w 2 $TESTSERVER > /dev/null 2>&1) ; then
    		# echo "$TESTSEVER: ping ok" 		
    		return 0   # Success.		
    	else
    		# echo "$TESTSEVER: ping nicht ok" 
    		return 1   # Failed 
    	fi
    }  
    
    
    # MAIN ---------------------------------------------------- #
    
    HOSTS=(Matthias MatthiasMobil Sarah 192.168.1.111)
    for SERVER in "${HOSTS[@]}"
    do
    	echo "Teste $SERVER"
    	if (server_exists $SERVER); then
    		echo " ping ok" 
    	else
    		echo " ping nicht ok" 
    	fi
    done
    
    Matthias
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Eine Funktion gibt i.d.R. einen Wert zurueck. Meist ist es 0, wenn alles glatt lief und eine Zahl, wenn es einen Fehler gab. Verschiedene Zahlen deuten auf verschiedene Fehler hin. Fuer die bash ist nun ein Rueckgabewert von 0 'true' (glaub ich), und der Rueckgabewert hat nichts mit der Ausgabe des Programmes zu tun. Den Rueckgabewert kann man nicht 'umleiten'.
     
  6. #5 phrenicus, 14.07.2006
    phrenicus

    phrenicus Routinier

    Dabei seit:
    24.05.2006
    Beiträge:
    253
    Zustimmungen:
    0
    Ort:
    Tübingen, Germany
    Du kannst ja mal die Variable $? auslesen, da steht der Rückgabewert drin:

    Code:
    ping -c 1 -n -w 2 $TESTSERVER ; echo $?
    
    Wenn es geklappt hat, steht eine 0 drin, wenn nicht, eine Zahl ungleich 0.


    Gruß
     
  7. #6 Schlaubi_fi.de, 14.07.2006
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Genau und TRUE oder FALSE, sprich der Rückgabewert ist unabhängig von der Ausgabe - er hat nicht einmal etwas damit zu tun...worauf ich hinaus will ist, dass egal ob du STDOUT/STDERR nach /dev/null umleitest oder nicht, es wird den Rückgabewert nicht beeinflussen...
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Erklärung zu ping Zeile

Die Seite wird geladen...

Erklärung zu ping Zeile - Ähnliche Themen

  1. Erklärung Samba-Optionen valid users, read -und write list

    Erklärung Samba-Optionen valid users, read -und write list: hi leutz, habe Samba 3 unter centos 5.4 installiert und gleich mal ein kleines Verständnisproblem ;) : Laut Samba ist es doch so, dass nur die...
  2. Erklärung von Attachmate zur Zukunft von openSUSE

    Erklärung von Attachmate zur Zukunft von openSUSE: Nachdem Attachmate den Kauf des größten Teils von Novell beschlossen hat, hat das Unternehmen eine Klarstellung zur Zukunft von SUSE und openSUSE...
  3. .bashrc Erklärung

    .bashrc Erklärung: Hallo, ich versuche gerade ein Applikation auf dem JBoss zum laufen zu kriegen. In der Anleitung wird mir gesagt, dass ich ein paar...
  4. ulimit - Erklärung

    ulimit - Erklärung: Hi Community, wer kann mir den ulimit Befehl näher erläutern? Ich weiß das man mit diesem Befehl auf dem System Ressourcen begrenzen kann....
  5. Suche Software für Steuererklärung

    Suche Software für Steuererklärung: hallo leute, muss jetzt mal langsam meine steuererklärung machen und bvrauche deshalb aml ein nettes tool dafür. vlt. kennst der eine oder der...