Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 3.780 ]
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.
Localizador não interativo do Mozilla Firefox para Slackware
Usar o Google Translate para ler (speak) a seleção
Pingmon1.0 - Ping Timeout Monitor
Criando uma lixeira p/ o usuário
SLAC - Programa de manutenção para Slackware 14x
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (0)
Meu notebook não está funcionando no monitor secundário (2)
Queria saber se existe alguma forma de desistalar programa no ubuntu s... (2)
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (1)