J'ai du mal à comprendre comment vérifier correctement à partir d'un script bash si l'heure actuelle est comprise entre 23h00 et 06h30. J'essaie d'exécuter une boucle infinie pour vérifier l'heure maintenant et de faire quelque chose si la plage horaire se situe entre 23 h et 6 h 30. Voici ce que j'ai écrit jusqu'à présent, qui ne fonctionne pas le lendemain:
fireup()
{
local starttime=$(date --date="23:00" +"%s")
local endtime=$(date --date="06:30" +"%s")
while :; do
local currenttime=$(date +%s)
if [ "$currenttime" -ge "$starttime" -a "$currenttime" -ge "$endtime" ]; then
do_something
else
do_something_else
fi
test "$?" -gt 128 && break
local currenttime=$(date +%s)
done &
}
Qu'est ce que je fais mal?