
Ich möchte die Möglichkeit haben, $SECONDS
Stunden, Minuten und Sekunden in einer Umgebungsvariablen anzuzeigen, sodass ich sie z. B. nur $RUNTIME
an verschiedenen Stellen im Skript verwenden muss und nicht jedes Mal das Ganze haben möchte, wenn ich es verwenden möchte.
Ich weiß nicht, welche Formatierung ich verwenden muss, damit es in eine Variable eingefügt werden kann:
export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"
Ich kann also einfach:
echo "The script ran for: $RUNTIME"
Danke.
Antwort1
Das Definieren von RUNTIME als Variable würde nicht helfen, da es immer einen konstanten Wert ausgibt, nämlich die Laufzeit zum Zeitpunkt der Definition. Versuchen Sie es function
stattdessen mit einer Shell:
runtime() {
printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
$(((SECONDS / 60) % 60)) \
$(($SECONDS % 60));
}
runtime
und rufen Sie es auf/verwenden Sie es mit einer „Befehlsersetzung“.