PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash: Zeitmessen



Dr.Wackelzahn
10-01-2010, 13:53
Hallo,
ich würde gerne die Zeit messen, wie lange mein Skript, in diesem Beispiel ein tar Befehl braucht.
Also quasi die Differenz zwischen der Uhrzeit vor dem Start und nach dem Ende.

Vielen Dank für Tipps und Tricks,

Gruß,
Alex

jeebee
10-01-2010, 14:40
#!/bin/bash

before=$(date +%s)
sleep 5
after=$(date +%s)

echo "elapsed time:" $((after - $before)) "seconds"

msi
10-01-2010, 19:37
oder time verwenden:

time tar xvvzf archiv.tgz

Dr.Wackelzahn
10-01-2010, 20:40
Vielen Dank Euch beiden!

Die Lösung mit date erscheint mir besser für mich geeignet, da sie univeseller einsetzbar ist.
Jetzt fallen bei tar manchmal Operationen an welche länger als Sekunden dauern. Kann ich hier auch eine Stunden und Minuten Ausgabe veranlassen?

Danke!

jeebee
10-01-2010, 20:47
Aus Sekunden kannst du ja Minuten (/60), Stunden (/60*60) und Tage (/24*60*60) berechnen...

Dr.Wackelzahn
10-01-2010, 21:14
Ja, ne, is schon klar, hab auch schon ein bisschen dran gebastelt.
Aber vielleicht gibt es ja auch eine Funktion von date oder time, welche ein Zahl (Sekunden) in Minuten und Stunden darstellen kann.

Gruß,
Alex