Contagem regressiva no terminal
Publicado por Fábio Berbert de Paula em 16/06/2020
[ Hits: 5.826 ]
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 " "
}
Git pull: "commit your changes or stash them before you merge" [Resolvido]
WindowMaker como Desktop padrão
Crack Attack! Jogo para quem tem QI (estilo Tetris Attack)
Como instalar o Plex Media Server no Ubuntu
Convertendo varchar em date no MySQL
Fazendo comparações no shell com números de ponto flutuante
Shell script no logon do openSUSE 11.3 para definir profile com configurações do wine e atalhos
Tornando seus scripts amigáveis (executáveis)
Contagem de linhas em shell script
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Migração do KDE Plasma para Cinnamon no Gentoo (com systemd) + Tema Colloid
Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Tenha opção de emblemas embutido no pcmanfm
Instalador não reconhece SSD Sata. (14)
Erro ao instalar o linux-headers [RESOLVIDO] (2)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (4)









