mit if anweisung überprüfen ob

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Linuxneuling, 29.10.2004.

  1. #1 Linuxneuling, 29.10.2004
    Zuletzt bearbeitet: 29.10.2004
    Linuxneuling

    Linuxneuling Tripel-As

    Dabei seit:
    09.02.2004
    Beiträge:
    249
    Zustimmungen:
    0
    Hallo!

    Ich möchte dieses WE intensiv mit Shell Sripte beschäftigen. Im Moment fällt mir nichts ein wie ich mit der IF Anweisung machen kann ob die eine Verzeichnis von einem entfernten Server gemountet ist.

    Z. B

    if mount /remoteserver

    then tar cvf /dev/tape /remoteserver

    done

    oder wie kann ich mit der if anweisung pingen, wenn eine Antwort kommt dann gehts weiter...

    Sorry dass ich irrtümlich im C++ Bereich gepostet habe.
    @Admin bitte diesen Beitrag verschieben...
     
  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. fossy

    fossy - dead -

    Dabei seit:
    26.03.2004
    Beiträge:
    274
    Zustimmungen:
    0
    wenn ich wissen will, ob (bzw. wie oft) /dev/hda1 gemountet ist frage ich

    cat /etc/mtab | grep -c /dev/hda1

    wenn es (ein mal) gemountet ist bekomme ich eine 1, wenn nicht, eine null.

    hilft dir das weiter?

    gruss, fossy.
     
  4. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Erledigt! ;)
     
  5. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Prinzipiell solltest Du den Exit-Code eines Programms auswerten, d.h. Du machst z.B. ein
    Code:
    ping -q -W 5 -c 3 192.168.0.1 >/dev/null
    if [ $? -eq "0"]
    then
      echo "Server erreicht"
    else
       echo "Verbindung fehlgeschlagen"
    fi
    
    Also mit $? frägst den Exit Code des zuvor ausgeführten Programmes ab. Die Werte die er annehmen kann, ist in der entsprechenden man-page des Befehls zu entnehmen. Exit-Code "0" steht immer für "Erfolgreich".
     
  6. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Vereinfachend kannste das

    Code:
    -eq "0"
    auch weglassen. Ist sonst doppelt-gemoppelt :)

    Gruss, Phorus
     
  7. fossy

    fossy - dead -

    Dabei seit:
    26.03.2004
    Beiträge:
    274
    Zustimmungen:
    0
    hier noch mal ne version mit leichter süss-sauer-note (so ganz mit ohne if):

    Code:
    ping -q -W 5 -c 3 web.de >/dev/null 2>&1 && (echo "ist da") || (echo "nicht da")
    fossy.
     
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Spielverderber ;)
     
  9. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Hehe :] auch gut.
    Allerdings wollte er ja wissen wie er mit IF was macht, nicht wie er einzeiler zusammennagelt.
     
  10. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Oder so:

    Code:
    if ping -c 4 www.google.de &> /dev/null
    then
            echo "Google ist da"
    else
            echo "Google ist tot"
    fi
    
     
  11. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    @ Cybermarc

    Was hast du fuer ein Ping-Programm, mein ping kennt den Parameter -W nicht, was macht der?
     
  12. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    -W ist der Timeout. Wenn ping nach n Sekunden (im obigen Beispiel 5) nicht erfolgreich war, bricht es ab.
     
  13. #12 Linuxneuling, 03.12.2004
    Linuxneuling

    Linuxneuling Tripel-As

    Dabei seit:
    09.02.2004
    Beiträge:
    249
    Zustimmungen:
    0
    Wie gebe ich die Rückgabewert an, wenn 1 dann ist gemountet und auch ok, und der Skript soll bei then weiter machen und nicht bei else....


    if cat /etc/mtab | grep -c /mnt/ | return = 1

    then cp /home/office/test.txt /mnt/

    else echo "konnte nicht kopiert werden"

    fi
     
  14. Anzeige

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

    Phate Frickler/Kellerkommunist

    Dabei seit:
    08.02.2004
    Beiträge:
    261
    Zustimmungen:
    0
    Ort:
    Rheinland
    Code:
    if [ `cat /etc/mtab | grep -c /mnt/` -eq 1 ]; then
      cp /home/office/test.txt /mnt/
    else
     echo "konnte nicht kopiert werden" 
    fi
    
     
  16. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Na der Rückgabewert steht wieder in $?
     
Thema:

mit if anweisung überprüfen ob

Die Seite wird geladen...

mit if anweisung überprüfen ob - Ähnliche Themen

  1. IF-Anweisung - Bedienung entziffern

    IF-Anweisung - Bedienung entziffern: Hallo liebe Community, ich bin gerade dabei ein altes Shell-Script an neue Eingabe anzupassen. Drei IF-Anweisungen sind für mich nicht...
  2. Unix Script: Case Anweisung - Mehrere Befehle

    Unix Script: Case Anweisung - Mehrere Befehle: Hallo Zusammen, ich habe folgendes Konstrukt: case $VAR in PARAM1) Batch_cmd="$PFAD_0/../Verarbeitung.sh $PFAD_1"; BATCHPROG="";...
  3. awk skript: Probleme mit if und else Anweisungen

    awk skript: Probleme mit if und else Anweisungen: Hallo, ich verzweifle an einem für mich schon sehr fortgeschrittenen Programm. Ich hab komplexe Textdateien (log Dateien), den ich bestimmte...
  4. awk: Dateiinhalt/Variableninhalt als Teil einer if-Anweisung

    awk: Dateiinhalt/Variableninhalt als Teil einer if-Anweisung: Hallo Ich habe folgendes Problem: Anhand dem Ergebnis einer Datenbankabfrage habe ich mir mit sed usw. einen String gebastelt und in einer Datei...
  5. if-Anweisung

    if-Anweisung: Hallo, ich habe eine frage zur if-Anweisung: NUMMER=`echo $2 | sed -e "s/\ //g" -e "s/+49/0/"` if [ -d $NUMMER == true]; then ... else...