msoliver
(usa Debian)
Enviado em 01/08/2016 - 19:54h
fcbatera escreveu:
pode ser brow
Segue ai, fcbatera.
#!/bin/bash
###########################
# CONTAGEM REGRESSíVA #
# 08/2016 - msoliver #
###########################
COLS=$((($(tput cols)-10)/2))
CV="\e[0;38;5;118m"
CA="\e[0;38;5;196m"
CF="\e[m"
HMS() {
echo -en "\n INFORME o TEMPO INICIAL (somente números).\n [HH:MM:SS]:"
read -p " " -n2 HH;read -p ":" -n2 MM;read -p ":" -n2 SS
STTS=$(awk -F" " '{if($1>=0 && $1<=23 && $2>=0 && $2<60 && $3>=0 && $3<60) print 0;else print 1}' <<< "$HH $MM $SS")
if [ "$STTS" -eq 0 ];then
DT=$(date -d "${HH}:${MM}:${SS}" +%s) ; tput clear ; MOSTRA 1
else
echo -e "\n\n "$CA"DADOS INCORRETOS\n O MáXIMO É: 23:59:59"$CF"" ; sleep 2.5 ; HMS
fi
}
GERACOR() {
[[ -z $CNT ]] && { CNT="1";export CNT ; }
CS="\x1B["$((CNT%2))";38;5;"$((CNT/2))"m"
let CNT++;(($CNT>31)) && CNT="1"
}
MOSTRA() {
local NN=$1
GERACOR
TIME=$(awk 'BEGIN {t='$DT';i='$NN'; printf "%s\n" ,strftime("%H:%M:%S", t-i)}')
sleep 1;printf "\x1B[2;${COLS}f"$CS"[$TIME]"$CF"\n"
let NN++
[ $TIME != "00:00:00" ] && MOSTRA $NN || exit 0
}
HMS
Obs.: o TEMPO máximo é de "23:59:59"
Se a RESPOSTA foi útil, marque-a como A MELHOR . . .
Abç.:
Marcelo S. Oliver