Contagem regressiva no terminal
Publicado por Fábio Berbert de Paula em 16/06/2020
[ Hits: 4.403 ]
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 " " }
Usando a chave UNIQUE para campos em uma tabela MySQL
Problema de som no Ubuntu - /dev/dsp: Arquivo ou diretório não encontrado
Como exportar um container Docker para outra máquina
Contando o número de palavras com o VIM
Onde está a linha que preciso editar? [Resolvido]
Criando item no menu do GNU/Linux com terminal executando comandos/scripts/aplicações
Tornando seus scripts amigáveis (executáveis)
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
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
ASRock H310CM-HG4 vs Linux [RESOLVIDO] (20)
redirecionando saida de comando touch para o AWK[AJUDA] (8)
Manipulação de dados binários, aplicações (0)
Fedora 40 Melhor que Ubuntu 24.04 (7)
Microfone do meu headset não é recinhecido. Meu notebook é um Acer Asp... (13)