Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 4.205 ]
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.
Hora certa - Observatório Nacional
Script para automatizar instalação do Gentoo
Implementando um simples manipulador de eventos de teclado
usando a lixeira em modo texto
Xdialog - Cadastro de Usuários
Nenhum comentário foi encontrado.
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
WiFi Seguro: EAP-TLS com FreeRADIUS e Active Directory (LDAP)









