Möchten Sie diesen Code in Ihr Skript einfügen oder von dem Prozess aus ausführen, der das Skript startet?
Für letzteres können Sie das reservierte Wort "time" verwenden und dann analysieren, was es zurückgibt, um zu ermitteln, wie viel Zeit ein Skript benötigt.
Wenn Sie dies aus einem Skript heraus tun möchten, können Sie die Variable SECONDS auf Null setzen, und jedes Mal, wenn Sie auf diese Variable verweisen, wird sie auf die Anzahl der verstrichenen Sekunden aktualisiert. Sie können also "SECONDS=0" ganz am Anfang Ihres Skripts setzen, und wann immer Sie die verstrichene Zeit benötigen, wird sie in der SECONDS-Variablen stehen.
Sie können den $SECONDS-Trick auch auf der Befehlszeile verwenden, zum Beispiel:
$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"
Das zeitreservierte Wort und die SECONDS-Variable sind beide in der Bash-Manpage dokumentiert.
Dies funktioniert in Bash und auch in Zsh:
# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
- Die ersten beiden Umleitungen verbergen die Ausgabe Ihres Prozesses ">/dev/null 2>&1"
- Die letzte Weiterleitung wird benötigt, weil "time" die Zeit auf stderr ausgibt