gelöst- Script ergebnisse vergleichen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

gelöst- Script ergebnisse vergleichen

Beitrag von Huck Fin » 21.01.2017 17:38:20

Hi,
ich würde gerne das Ergebniss von zwei Abfragen vergleichen.
Ich wüsste, wie ich das Ergebniss in eine Datei schreibe, aber ich hätte es gerne in zwei Variablen.

#!/bin/bash
ergebnis1=ping -c1 meine.dynip.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"
ergebnis2=curl -s http://whatismijnip.nl |cut -d " " -f 5
if
ergebnis1 = ergebnis2
exit
else
mail -s "ip-adresse" meine@mail.de < ergebnis2
fi

Leider steh ich gerade etwas auf dem Schlauch und bräuchte mal Hilfe...
Zuletzt geändert von Huck Fin am 21.01.2017 18:28:07, insgesamt 1-mal geändert.

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Script ergebnisse vergleichen

Beitrag von Huck Fin » 21.01.2017 18:02:16

Hatte ich probiert
und zwar
ergebnis1=$(ping -c1 meine.dynip.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")

ging aber nicht.

nachtrag...
jetzt geht es 8O
Warum es vorhin nicht ging :?:

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Script ergebnisse vergleichen

Beitrag von inne » 21.01.2017 18:08:11

Hier geht das:
$ echo $(ping -c1 meine.dynip.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
81.92.164.173 81.92.164.173

(Evtl. noch uniq anfügen; Schau aber auch hier im Wiki https://wiki.debianforum.de/Aktuelle_IP ... rausfinden)

Dann musst Du noch bei if mit test o.ä. arbeiten:

Code: Alles auswählen

if test "$foo" = "$bar"; then
    :
else
    :
fi

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Script ergebnisse vergleichen

Beitrag von Huck Fin » 21.01.2017 18:19:33

Ja, bei verschiedenen IPs klappt es super.

Bei gleichen IPs wird die zweite IP doppelt angezeigt und er meldet ungleiche IP.

#!/bin/bash
vari1=$(curl -s http://whatismijnip.nl |cut -d " " -f 5)
vari2=$(ping -c1 xxx.dnshome.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
echo "vari1= " $vari1
echo "vari2= " $vari2
if test "$vari1" = "$vari2"; then
echo gleiche IP
else
echo ungleiche IP
fi

Der Befehl
ping -c1 xxx.dnshome.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"
liefert mir 2 x die Selbe IP
Gelöst.
| uniq angehängt ;-)
Zuletzt geändert von Huck Fin am 21.01.2017 18:27:11, insgesamt 1-mal geändert.

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Script ergebnisse vergleichen

Beitrag von inne » 21.01.2017 18:26:17

Habs oben noch ergänzt:

vari2=$(ping -c1 xxx.dnshome.de | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | uniq)
Zuletzt geändert von Anonymous am 21.01.2017 18:28:04, insgesamt 1-mal geändert.

Benutzeravatar
Huck Fin
Beiträge: 1202
Registriert: 10.03.2008 17:10:30

Re: Script ergebnisse vergleichen

Beitrag von Huck Fin » 21.01.2017 18:27:40

Ah, selber Gedanke.
:THX:

Antworten