J'ai besoin d'une série de commandes ou d'une seule commande qui reste en veille jusqu'à la prochaine occurrence d'un moment spécifique comme "4:00".
Comment ferais-je ça?
La at
commande ou un cronjob n'est pas une option car je ne dois pas quitter le script dans lequel je suis actuellement.
Le cas spécifique dont je parle est un script exécuté à l'écran. Il est très important que je n'arrête pas l'exécution du script par le script lui-même car il existe de nombreuses variables importantes qui sont nécessaires à un moment donné du script. Le script n'est pas toujours censé être exécuté de manière régulière. Il doit juste être exécuté à un moment précis.
Il serait très bénéfique si le script devait créer des fichiers ou d'autres tâches telles que des tâches cron ou d'autres écrans. C'est simplement une question de design.
Je viens d'avoir une idée géniale:
difference=$(($(date -d "4:00" +%s) - $(date +%s)))
if [ $difference -lt 0 ]
then
sleep $((86400 + difference))
else
sleep $difference
fi
Avez-vous de meilleures idées?
Plus d'informations seront ajoutées sur demande!
date -d
par date -j
et remplacer 4:00
par 0400
.