Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 3.443 ]
Download 6500.barraprogresso.sh
Este script, sem grandes pretensões, é para iniciantes que porventura tenham interesse em ter uma barra de progresso simples em seus scripts, semelhante ao { Loading Linux............................................} que vemos durante o boot do sistema.
Embora tudo seja muito simples, procurei comentar e explicar o melhor possível dentro do próprio código.
Espero que seja útil. Abraços!
#!/bin/bash # Apresentacao : Barra de progresso em ASCII # Descricao : Exibe uma serie de pontos, simulando uma barra crescente enquanto executa um script ou funcao. # Autor : Renato Augusto Andrade # Local/Ano : Belo Horizonte,MG/ 2016 # Publico Alvo : Iniciantes em Shell Script # ======================================================================================================== # Funcao super simples que mostra a barra crescente de pontos. function progresso() { while true do echo -en "." sleep .05 # Intevalo de 5 centesimos de segundo entre cada ponto. Pode ser alterado. done } # ======================================================================================================== # ======================================================================================================== # Coloque aqui sua funcao/script que sera monitorada pela barra de progresso, como por exemplo envio de # arquivos para um servidor FTP ou a gravacao de uma imagem ISO. function minhafuncao() { } # Fim do espaco para sua funcao. # ======================================================================================================== # ======================================================================================================== # A ideia aqui sera exibir uma mensagem na tela para o usuario e, enquanto sua funcao/script executa, a # barra de progresso em pontos seguira crescendo a partir da mensagem. clear echo -ne "\n\n\n\t\tAguarde.\n\t\tExecutando." # Exibe uma mensagem introdutoria. progresso & # Chama a funcao da barra de progresso e envia para segundo plano. meuprogresso=$! # Obtem o PID da funcao "progresso" e alimenta a variavel "meuprogresso". minhafuncao # Chama a funcao criada por voce. Enquanto ela executa, os pontos seguirao crescendo. kill $meuprogresso >/dev/null 2>&1 # "Mata" a barra de progresso ao terminar de executar a funcao criada por voce. echo -e " 0k\n\n\t\t Trabalho terminado.\n" # Avisa ao usuario que o processo terminou. sleep 3 # Espera tres segundos antes de sair. exit 0 # Encerra e sai.
Instalação do Adobe Flash Player em distros Debian-like
Faz uma busca no Google e abre o primeiro hit (Estou com Sorte)
LAMP/Tomcat - Acesso simplificado a ferramentas do console
Gerenciamento de usários do Squid usando Dialog
Nenhum comentário foi encontrado.
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
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)
Lançado Ubuntu 24.04 Final (4)
iso de sistema 32 bit em atividade (11)