export BOOT_TIME=$(date +%s)
current=$(date +%s)
(( current - BOOT_TIME >3600 )) && echo "More than an hour"
%s
retorna segundos desde 1970-01-01 00:00:00 UTC.
Discussão: por que os segundos são melhores
Suponha, por exemplo, que o horário de início (boot) seja 23:00 e que a hora atual seja 00:23. Então, $TIME
é negativo e isso não funcionará:
if [ $TIME -gt 0 ] && [ $START_M -lt $CURRENT_M ]; then
echo "boot time is more than an hour"
fi
Da mesma forma, suponha que a hora de início seja 12:03 e a hora atual seja 14:00. Então, o acima não funcionará também, desta vez por causa do teste de minutos.