Contagem regressiva no terminal
Publicado por Fábio Berbert de Paula em 16/06/2020
[ Hits: 5.644 ]
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 " "
}
Convertendo arquivos MP3 para WAV e vice-versa
Informações detalhadas de arquivos de vídeo com mediainfo
SED - salvar resultados em novo arquivo
Curso de shell script em vídeo
Cli-Apps.org - Repositório de shell scripts
Listando os 5 maiores subdiretórios no GNU/Linux
Shell script no logon do openSUSE 11.3 para definir profile com configurações do wine e atalhos
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









