PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schalter setzen in einem Script



t23
05-01-2005, 13:59
Servus,
ich hab da ein Problem mit meinem Script (ksh).
Ich möchte die Uhrzeit nach jedem Schleifendurchlauf (while-Schleife) vergleichen. Wie kann ich das am besten bewerkstelligen? Muss ich da einen Schalter setzen? Wie setzt man den in einem Script

THX im vorraus
MFG

Navy2k
05-01-2005, 14:48
Seh ich das richtig das du die aktuelle Zeit mit einer festen Zeit vergleichen willst ?

t23
06-01-2005, 06:15
Ja, ich will sozusagen eine vorherige Zeit mit einer späteren Zeit vergleichen. Stehen beide zeiten 10min auseinander, so soll erst eine Meldung ausgegeben werden wenn die Bedingung der Schleife erfüllt ist.

MFG

peschmae
06-01-2005, 09:33
date hat in der GNU-Ausgabe einen netten Schalter:
%s Sekunden seit „00:00:00 1970-01-01 UTC“ (eine GNU-Erweiterung)
damit kannst du
date +%s
machen. Da das einfach eine Zahl ist kannst du damit gut rechnen - z.B. mit bc oder expr:


OLDDATE=$(date +%s)
for ((i = 0; i < 10; i++)); do
sleep 5;
echo Zeitdifferenz in Sekunden: $(expr $(date +%s) - $OLDDATE)
done


MfG Peschmä

t23
06-01-2005, 13:11
Danke ersteinmal,
aber wie kann ich eine zeit die ich vorher in eine Variable gespeichert habe mit der späteren Zeit vergleichen, also die verstrichende Zeit zwischen den beiden ausgeben lassen?

ps: ich wusste warum ich Systemintegrator lernen wollte, sonst hätt ich nämlich Anwendungsentwickler gewählt... :)

MFG

peschmae
06-01-2005, 16:39
Genau das macht der Code da oben :)

$(expr $(date +%s) - $OLDDATE)

in Sekunden natürlich da die beiden Zeiten jeweils durch date +%s generiert auch Sekunden sind.

MfG Peschmä

t23
07-01-2005, 06:45
Jooa danke

es funzt.

MFG