Ich benötige eine Reihe von Befehlen oder einen einzelnen Befehl, der bis zum nächsten Auftreten einer bestimmten Zeit wie "4:00" in den Ruhezustand versetzt wird.
Wie würde ich das machen?
Der at
Befehl oder ein Cronjob ist keine Option, da ich das Skript, in dem ich mich gerade befinde, nicht verlassen darf.
Der spezielle Fall, über den ich spreche, ist ein Skript, das auf dem Bildschirm ausgeführt wird. Es ist sehr wichtig, dass ich die Ausführung des Skripts durch das Skript selbst nicht stoppe, da dort viele wichtige Variablen gespeichert sind, die an einem bestimmten Punkt des Skripts benötigt werden. Das Skript sollte nicht immer regelmäßig ausgeführt werden. Es muss nur zu einem bestimmten Zeitpunkt ausgeführt werden.
Es wäre sehr nützlich, wenn das Skript Dateien oder andere Aufgaben wie Cronjobs oder andere Bildschirme erstellen müsste. Dies ist einfach eine Frage des Designs.
Ich hatte gerade eine tolle Idee:
difference=$(($(date -d "4:00" +%s) - $(date +%s)))
if [ $difference -lt 0 ]
then
sleep $((86400 + difference))
else
sleep $difference
fi
Hast du bessere Ideen?
Weitere Informationen werden auf Anfrage hinzugefügt!
date -d
mit date -j
und ersetzen 4:00
mit 0400
.