Barra de progresso
Publicado por Roger Pereira Boff 10/01/2009 (última atualização em 25/10/2010)
[ Hits: 17.652 ]
Homepage: http://rogerboff.wordpress.com
Download 1286726480.ProgressBar.sh (versão 2)
Script para geração de barra de progresso de uso geral. Baseado no script do gauge.sh do Aurélio M. Jargas.
Versão 2 - Enviado por Roger Pereira Boff em 10/10/2010
Changelog: - Alterado "{FONTE}" para "{VDESC}".
- Alterado "#!/bin/bash" para "#!/usr/bin/env bash" para ficar compatível com outras distribuições Linux
Download 1286726480.ProgressBar.sh
#!/bin/bash # progressbar # # INFORMAÇÕES: www.shellscripts.com.br/script/progressbar # NASCIMENTO : 23 de outubro de 2008 # AUTORES : Roger Pereira Boff < rogerboff (@) gmail com> # DESCRIÇÃO : Função para geração de barra de progresso. # LICENÇA : GPL v2 # CHANGELOG : www.shellscripts.com.br/script/progressbar/changelog # VERSÂO : 0.8.9 # ############################################################################## # Este script é baseado no script gauge.sh de Aurélio Marinho Jargas ############################################################################## # Habilitado o modo restrito de saída para qualquer comando que retorne qual- # quer valor diferente de "0" set -e # Função para geração de barra de progresso. # # Exemplo: # [#########################.........................] 50% # Registro(s) processado(s): 50 de 100." # # Exemplo de uso: # ProgressBar "TotalDeRegistro" ProgressBar() { # Verifica se a barra de progresso já foi criada. if [ -z "$PBAR" ]; then # Total de registros a serem processados. PBTOTAL="$1" # Tamanho da string $PBTOTAL PBTOTALTAM="${#PBTOTAL}" # String com espaço reservado para 1.000.000.000 de registros. PBSTR=" de $PBTOTAL." # Cria a barra de progresso e o total de registros processados. echo "[..................................................] %" echo "Registro(s) processado(s): ${PBSTR:$((10-$PBTOTALTAM))}" # Move o cursor para a coluna 59 e 2 linhas acima.. echo -en "{FONTE}33[59G{FONTE}33[2A" # Seta que a barra de progresso já foi criada. PBAR="true" fi ######################### Imprime a porcentagem no final da barra ########################################################### # Adiciona 1 registro processado. PBREG=$((PBREG+1)) # Calcula a porcentagem de registros processados PBPORC=$((PBREG*100/PBTOTAL)) # Move o cursor para a coluna 56 da barra de progresso. echo -en "{FONTE}33[$((57-${#PBPORC}))G$PBPORC{FONTE}33[59G" ######################### Imprime o andamento na barra de progresso ######################################################### # Recupera a posição anterior da barra de progresso. PBBARPOSANT="${PBBARPOS:-1}" # Calcula a posição na barra de progresso. PBBARPOS=$((PBPORC/2+1)) # Verifica se a posição é igual a "1". if [ "$PBBARPOS" = "1" ]; then PBBARPOS=$((PBBARPOS+1)); fi # Utilizado "for" para imprimir a barra nas possiveis lacunas geradas. for PBBARPOSFOR in $(seq $((PBBARPOSANT+1)) $PBBARPOS) do # Imprime o movimento na barra de progresso. echo -en "{FONTE}33[${PBBARPOSFOR}G#" done # Move o cursor para depois do sinal de porcentagem. echo -en "" ######################### Imprime o total de registros ###################################################################### # Calcula a posição do cursor para o registro. PBREGPOS=$((28+$PBTOTALTAM-${#PBREG})) # Move o cursor para a coluna 28. echo -en "{FONTE}33[1B{FONTE}33[${PBREGPOS}G$PBREG{FONTE}33[59G{FONTE}33[1A" ######################## Finaliza com quebra de linha ####################################################################### # Verifica se é o ultimo registro a ser processado. if [ "$PBTOTAL" = "$PBREG" ]; then # Move o cursor para 1 linha abaixo echo -en "{FONTE}33[1B" # Quebra a linha para que linha de comando não fique no final da barra de progresso. echo "" fi }
Libera conectividade social em rede com squid
Transforme a manpage e infopage em pdf e texto
Script de backup para Gravador CD-R ou CD-Rw
Ativando Numlock como serviço e no boot
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
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
Debian Bookworm para a versão beta Debian 13 Trixie (1)
material de assembly x64 [RESOLVIDO] (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba