Die Bash hat eine Variable, die automatisch aktualisiert wird und die Anzahl der Sekunden seit dem Start der Shell enthält.
Sie können den Wert einstellen und die Aktualisierung beginnt mit dieser Basis. Der Nachteil ist, dass ein Epochen-Sekunden-Zeitstempel-Format verwendet wird. Sie können verwenden date
um es zurück zu konvertieren.
Hier ist eine Demo:
$ bash
$ echo "$SECONDS"
5
$ date +%s; SECONDS=$(date +%s); echo "$SECONDS"
1340191083
1340191083
$ sleep 10
$ date +%s; echo "$SECONDS"
1340191097
1340191097
$ date -d "@$SECONDS"
Wed Jun 20 06:18:24 CDT 2012
$ date -d "@$SECONDS" +%F
2012-06-20
Die zusätzlichen Sekunden sind auf die Startzeit der Bash und die Zeit zurückzuführen, die für die Eingabe der Befehle benötigt wird.
$ bash -c 'echo $SECONDS'
0