Barra de progresso em ASCII
Publicado por Renato Augusto Andrade (última atualização em 06/10/2016)
[ Hits: 4.226 ]
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.
Script de instalação do VLC completo (via slackbuilds)
Verificar e efetua o download da nova versão do antivirus McAfee
The Universal Argument Parser (with long options)
Grave arquivos em pendrive sem sistema de arquivos
Nenhum comentário foi encontrado.
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









