Barra de progresso em ASCII

Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)

[ Hits: 3.465 ]

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!

  



Esconder código-fonte

#!/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.

Scripts recomendados

Script para listar tentativas de acessos

[wgetreload] Evitando conexão "staled" (parada) no wget

Análise de conexões ativas

Script Shell para Administração e Configuração do Samba em Red-Hat / Fedora

Unrpm


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts