Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 4.049 ]
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.
Testa DNS da sua conexão e reporta perda(s) de pacotes
Juntando páginas separadas num único PDF
Nenhum comentário foi encontrado.
Intel corta Vulkan do oneAPI Construction Kit 5.0
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (2)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (12)