mit if anweisung überprüfen ob

Linuxneuling

Linuxneuling

Tripel-As
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...
 
Zuletzt bearbeitet:
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.
 
oder wie kann ich mit der if anweisung pingen

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".
 
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.
 
fossy schrieb:
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.

Spielverderber ;)
 
Hehe :] auch gut.
Allerdings wollte er ja wissen wie er mit IF was macht, nicht wie er einzeiler zusammennagelt.
 
Oder so:

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

Was hast du fuer ein Ping-Programm, mein ping kennt den Parameter -W nicht, was macht der?
 
-W ist der Timeout. Wenn ping nach n Sekunden (im obigen Beispiel 5) nicht erfolgreich war, bricht es ab.
 
fossy schrieb:
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.

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
 
Code:
if [ `cat /etc/mtab | grep -c /mnt/` -eq 1 ]; then
  cp /home/office/test.txt /mnt/
else
 echo "konnte nicht kopiert werden" 
fi
 
Zurück
Oben