Ich versuche, Zeitdifferenz vor dem Start und nach Abschluss des Skripts in Millisekunden zu berechnen. gibt es eine Möglichkeit einfacher ohne bc mitZeit in Millisekunden ohne bc
i mit Datum +% s000
Ich versuche, Zeitdifferenz vor dem Start und nach Abschluss des Skripts in Millisekunden zu berechnen. gibt es eine Möglichkeit einfacher ohne bc mitZeit in Millisekunden ohne bc
i mit Datum +% s000
bc für einen Shell-Skript zu empfehlen wäre versucht haben. Wenn Sie constraint haben und Python installiert ist, könnte dies in Ihrem Skript funktionieren.
s="start time in epoch sec"
.... your code
e="end time in epoch sec"
python -c 'import sys; dt=(float(sys.argv[1])-float(sys.argv[2]))/1000.; print dt' $s $e
, wenn Sie sicher sind, über das Skript in 1 Sekunde läuft, verwenden Sie diese:
TIME1=$(date +"%-3N")
sleep 0.5
TIME2=$(date +"%-3N")
SYSDELAY=$(($TIME2 - $TIME1))
if [ "${SYSDELAY:0:1}" = "-" ];then
SYSDELAY=$((1000 + $SYSDELAY))
fi
wenn Sie verwenden können, 'ksh' (93+) oder' zsh', sie unterstützen beide Gleitkomma calcs innerhalb ihres 'math'-Operators, dh' var = $ ((9.7 * 10.1)); echo $ var' gibt '97.97' zurück. . Vielleicht möchten Sie Ihr Q erweitern, um anzuzeigen, was Ihr Einwand gegen 'bc' ist. Viel Glück. – shellter
Sie haben die Möglichkeit, die Teile Ihres Skripts, die Sie möchten, in den Systemzeitbefehl 'time' einzufügen und dann entweder die * real *, * user * oder * sys * mal oder GNU/time und Angabe des '--formats' für die Zeit von Interesse (zB * real *'% e', * Benutzer * '% U', oder sys'% S') –