Moin,
Zitat von
mupp
...Hier mein Script, an dem ich die Verzweiflung bekomme:...
Ich versehe mal das Script mit Kommentaren:
Code:
#!/bin/bash
VAR1=www.heise.de # ok, Du willst diese Domain pruefen
DIG=dig $VAR1 | grep -A 1 AUTH # was willst Du erhalten?
# Folgendes liefert die Befehlsliste "dig $VAR1 | grep -A 1 AUTH":
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
#
# Wenn Du diese Ausgabe in die Variable DIG schreiben willst, dann so:
DIG="`dig $VAR1 | grep -A 1 AUTH`"
# allerdings ist mir nicht klar, was Du mit "-A 1" im grep bezweckst.
# da steht nur ne Leerzeile nach der Trefferzeile
$DIG # huch? Du willst das, was in $DIG steht, ausfuehren???
# Das gibt Mecker vom Meister ;-)
echo "$DIG" # ok, mal ausgeben, was in $DIG steht
# die naechste Zeile sieht erstmal ok aus, ich würde aber fuer wget
# noch die Option -q reinnehmen, den eigentlichen Output willst Du
# ja nicht haben. Und bei der Abfrage auf eine Zeichenkette ist Vorsicht
# angebracht - was ist, wenn ein Benutzer Englisch als Sprache einstellt?
if wget $VAR1 2>&1 | grep -q 'Host nicht gefunden' ; then
echo "Anfrage auf $VAR1 war nicht erfolgreich!"
else
echo "Anfrage auf $VAR1 war erfolgreich!"
fi
So, jetzt berichtige mich bitte und erkläre mal, was Du an den Stellen bezweckst, die mir schleierhaft sind.
Jan
Lesezeichen