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

Digg it! Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieses Artikels:

Durchschnittliche Bewertung: 0 von 5 (0 Bewertungen)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Kommentieren nicht möglich