Nregp ereignis für bash-script
Hallo zusammen
Betreibe Lubuntu 14.04 LTS.
Wenn ein Browser läuft, kann man mit ngrep einen Netzwerk-Traffic mitschneiden
In einer Schleife möchte ich das Ereignis "200 OK" erfassen, die Schleife soll in einem bash-script laufen.
Etwa so:
#!/bin/sh
#
firefox www.meineseite.de >/dev/null &
#
( ok=$(ngrep -d eth0 | grep "200 OK") ) &
#
while [ $ok != "200 OK" ]; do
echo Waiting...
done
Also die Variable ok ändert erst mit Firefox HTTP-Serverrückmeldung ihren Wert.
Und erst dann soll die Whileschleife abbrechen. Allerdings tut sie das nicht.
Kann das jmd erkennen warum nicht ?
Gruß
rsadmchef.
Betreibe Lubuntu 14.04 LTS.
Wenn ein Browser läuft, kann man mit ngrep einen Netzwerk-Traffic mitschneiden
In einer Schleife möchte ich das Ereignis "200 OK" erfassen, die Schleife soll in einem bash-script laufen.
Etwa so:
#!/bin/sh
#
firefox www.meineseite.de >/dev/null &
#
( ok=$(ngrep -d eth0 | grep "200 OK") ) &
#
while [ $ok != "200 OK" ]; do
echo Waiting...
done
Also die Variable ok ändert erst mit Firefox HTTP-Serverrückmeldung ihren Wert.
Und erst dann soll die Whileschleife abbrechen. Allerdings tut sie das nicht.
Kann das jmd erkennen warum nicht ?
Gruß
rsadmchef.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 326178
Url: https://administrator.de/contentid/326178
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
3 Kommentare
Neuester Kommentar
Wieso nimmst du für sowas nicht curl ??
Gruß mik
curl -s -w "%{http_code}\\n" "http://www.meineseite.de" -o /dev/null | grep "200" >/dev/null && echo 'OK' || echo 'Nicht OK'
Gruß mik
Kann das jmd erkennen warum nicht ?
Weil du den Status nur einmal vor der Schleife abfragst undsich die Variable "OK" später dann nie mehr ändert, das ist der Grund warum du ewig in der Schleife hängen bleibst.
Also musst du entweder in der Schleife erneut mit ngrep auswerten oder das direkt in der Schleifenbedingung tun...