Contagem regressiva no terminal
Publicado por Fábio Berbert de Paula em 16/06/2020
[ Hits: 5.798 ]
Blog: https://fabio.automatizando.dev
regressiva() {
#forma de uso:
#regressiva HH:MM:SS. Exemplo:
#
#regressiva 01:30:00
#
#verificar se o parâmetro passado está correto
RETORNO=`echo $1 | sed -E 's/[0-9]{2}:[0-9]{2}:[0-9]{2}/true/'`
#se parâmetro estiver errado, imprimir mensagem de ajuda e sair
if [ "$RETORNO" != "true" ]
then
echo -e "\nForma de uso:\n\n\tregressiva HH:MM:SS\n\nExemplo:\n\n\tregressiva 01:00:00\n\n"
return
fi
#armazenar valor original da variável de ambiente IFS
local OLD_IFS="${IFS}"
#IFS passa a ser ":"
IFS=":"
#variável ARR terá 3 elementos: hora, min, seg
local ARR=( $1 )
#variável SECONDS será a soma dos segundos de todos os elementos
local SECONDS=$(( (ARR[0] * 60 * 60) + (ARR[1] * 60) + ARR[2] ))
#contagem inicial é a hora atual em segundos
local START=$(date +%s)
#contagem final é a hora atual em segundos + a qtd de segundos informada
local END=$((START + SECONDS))
#inicializar a hora atual
local CUR=$START
while [[ $CUR -lt $END ]]
do
#atualizar a hora atual
CUR=$(date +%s)
#LEFT é quanto falta, END - CUR
LEFT=$((END-CUR))
#imprimir quanto falta no formato HH:MM:SS
printf "\r%02d:%02d:%02d" \
$((LEFT/3600)) $(( (LEFT/60)%60)) $((LEFT%60))
sleep 1
done
#restaurar a IFS
IFS="${OLD_IFS}"
echo " "
}
Criando sua própria distribuição Linux
Crack Attack! Jogo para quem tem QI (estilo Tetris Attack)
Mudando o tema do Vim - esquema de cores
Como instalar o PHP5 no Debian 9 Stretch
Verificar Conexão e Montar Servidor SAMBA
Criar "ícone" para executar Scripts
Criando e utilizando uma "biblioteca de funções"
Aulas Shell Script do zero - Parte 1
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Ajudante para criar dicas e artigos no VOL (29)
Hardware (corpo), Software (mente) e Kernel (conexão) (0)
Tentando fazer um "linux ricing" mas falhando miseravelmente... (3)









