Contagem regressiva no terminal
Publicado por Fábio Berbert de Paula em 16/06/2020
[ Hits: 4.393 ]
Blog: https://www.instagram.com/alexabolada/
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 " " }
Como fazer o logrotate apagar logs antigos
Como recortar um vídeo via linha de comando
Como validar arquivos RSS via linha de comando
Conferência Internacional Software Livre Brasil
Como remover arquitetura i386 no Debian/Ubuntu e derivados
E-book GRATUITO de Shell Script do Júlio Neves
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (7)
ASRock H310CM-HG4 vs Linux (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (26)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba