В Linux есть замечательная утилитка sleep, которая идеальна для небольших временных интервалов, но, если речь идет о паузе в часах, то иногда начинается путаница, что это за консоль и когда ты вообще ее запустил, да когда теперь она начнет работать... Во избежание этого накидал тупой скриптик. Параметр единственный - пауза в часах. Отображает оставшееся время в формате HH:MM, при необходимости можете и поправить, что нужно..
Код:
#!/bin/bash
m=${1}*60*60
Floor () {
DIVIDEND=${1}
DIVISOR=${2}
RESULT=$(( ( ${DIVIDEND} - ( ${DIVIDEND} % ${DIVISOR}) )/${DIVISOR} ))
echo ${RESULT}
}
Timecount(){
s=${1}
HOUR=$( Floor ${s} 60/60 )
s=$((${s}-(60*60*${HOUR})))
MIN=$( Floor ${s} 60 )
while [ $HOUR -ge 0 ]; do
while [ $MIN -ge 0 ]; do
printf "\033[2J\033[HSleep time: %02d:%02d\n" $HOUR $MIN
sleep 60
MIN=$((MIN-1))
done
MIN=59
HOUR=$((HOUR-1))
done
}
Timecount $m