Linux
ID #1046
Bash: Endlosschleife
Wie baut man am besten eine Endlosschleife?
until [ ]; do command; done
Beispiel:
Alle 600 Sekunden (10 Minuten) soll ein Ping an itzoo.de geschickt werden. Zur besseren Auswertung werden 2 Leerzeilen, sowie ein Zeitstempel ausgegeben. Abgebrochen wird mit Strg+C.
until [ ]; do printf "\n\n" && date && ping -c 1 itzoo.de && sleep 600 ; done
weiteres Beispiel:
Load-Average alle 10 Sekunden auslesen, anzeigen und in Datei schreiben:
until [ ]; do (load=`uptime | sed "s/.*\(Durch.*\)/\1/"` && echo "`date +"%Y-%m-%d %X"` - $load" | tee -a /var/log/loadaverage.log && sleep 10) ; done
Alternative: watch
watch führ standardmäßig im 2 Sekundentakt den angegebenen Command aus.
watch ping -c 1 itzoo.de
Sinn macht watch z.b. auch mit last:
watch last
Tags: Bash, Schleife, load, average, watch
Verwandte Artikel:
Letzte Änderung des Artikels: 2007-11-19 14:48
Verfasser des Artikels: Florian Schrön
Revision: 1.9
Kommentieren nicht möglich