Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 4.250 ]
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.
EvalDate v1.0 - Script para Executar Programas em Datas Específicas.
Backup Simples de tabela MYSQL
Backup da database do gerenciador de pacotes RPM
Acertando número para numeração
Nenhum comentário foi encontrado.
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Plantar o Singrante Google Chrome no Void Linux
Lançando Java e Netbeans no Linux
Instalando SVP4 e MPV (VapourSynth) no Gentoo
Migração do KDE Plasma para Cinnamon no Gentoo (com systemd) + Tema Colloid
Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Comportamento "inesper... ao executar 'apt full-upgrade&... (4)
instalar iso sem pendrive ou dvd (2)
Um filme, uma banda, um jogo, um livro, um anime (ou mangá) (11)









