Linux Shell Programmierung?
Ich möchte gerne per Skript die verbleibende Zeit bis 18Uhr angezeigt bekommen.
Erstelle eine Shell-Funktion, die wenn sie aus der Shell
aufgerufen wird, die verbleibenden Stunden bis 18 Uhr ausgibt.
Wie setzte ich dies um.
Ich habe schon etliche Seiten durchforstet, aber nichts hat mir geholfen.
2 Antworten
man date hilft immer:
- date +%s gibt die aktuelle Zeit in Sekunden seit 1.1.1970T00:00:00Z aus.
- date -d 18:00 +%s macht das für die Uhrzeit 18:00 (innerhalb der nächsten 24 Stunden).
- $(befehl) ist die Ausgabe eines Befehls. "echo now=$(date +%s)" produziert also etwas wie "now=1669392168".
- $(( zahl - zahl )) subtrahiert zwei Zahlen. Diese Zahlen können natürlich auch durch einen $(befehl) angegeben werden.
- date -ud @zahl +%H:%M gibt eine Zahl in Sekunden als Uhrzeit aus.
Das alles zusammen ergibt:
date -ud "@$(( $(date -d 18:00 +%s) - $(date +%s) ))" +%H:%M
Nutzer, der sehr aktiv auf gutefrage ist
https://forum.ubuntuusers.de/topic/bash-zeitdifferenz-mit-funktion-ermitteln/
Vielleicht gibt dir das hier ein paar Hinweise.