Barra de Progresso com Shell Script
Publicado por Kleilson dos Santos (última atualização em 04/07/2020)
[ Hits: 3.316 ]
Homepage: https://github.com/KleilsonSantos/Shell-Script/
Download barra-de-progresso.sh
Gerando uma barra de progresso com shell script.
#!/bin/bash
#--------------------------------------------------------------------
# Name Script: script-barra_de_progresso.sh
# Information: https://github.com/KleilsonSantos/Shell-Script
# Creation in: June 2, 2020
# Author: Kleilson Santos <canalnovoti@gmail.com>
# Description: Criando barra de progresso
# License: GPL v3
# Version: 0.1.5
#--------------------------------------------------------------------
# Declarando variável _ARRAY, o parâmetro "-r" indica
# que a variável e apenas leitura (read)
declare -r _ARRAY=(/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / /)
# Declarando variável _BAR_TYPE, o parâmetro "-r" indica
# que a variável e apenas leitura (read)
#declare -r _BAR_TYPE_1="░▒▓█▓▒░"
#declare -r _BAR_TYPE_2="⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏"
#declare -r _BAR_TYPE_3="◒◐◑"
#declare -r _BAR_TYPE_4=":(:|:):D"
#declare -r _BAR_TYPE_5="◇◈◆"
#declare -r _BAR_TYPE_6="⚬⚭⚮⚯"
#declare -r _BAR_TYPE_7="##############################"
#declare -r _BAR_TYPE_8="..........................."
#declare -r _BAR_TYPE_9="============================"
#declare -r _BAR_TYPE_10="------------------------------"
declare -r _BAR_TYPE="##############################"
# Declarando variável _TOTAL, o parâmetro "-r" indica
# que a variável e apenas leitura (read)
declare -r _TOTAL=${#_ARRAY[@]}
# Esconde o cursor
tput civis -- invisible
# Simulando carregamento de um comando executando
echo "Loading..."
for i in "${!_ARRAY[@]}"; do
#statements
# Calculando a porcentagem do loop.
porc=$(((($i+1) * 100) / _TOTAL))
# Calcula o ultimo caracter da barra baseado na porcentagem.
bar=$((($porc * _TOTAL) / 100))
#Simulando um comando rodando
sleep 0.1
# Mostrando a porcentagem da barra de progresso.
# Flag -n -> Manter o cursor na mesma linha.
# Flag -e -> Voltar o cursor no inicio da linha.
# \\r -> Progressão da barra em uma única vez.
# Cores na saida da barra de progresso
# \e[01;32m -> Cor Verde
# \e[01;37m -> Cor Branca
echo -n -e "\\r\e[01;32mProgress...$porc%\e[01;37m[${_BAR_TYPE:0:$bar}]"
done
# Pulando linha após termino do barra de progresso
echo ""
# Mostra o cursor
tput cnorm -- normal
tput sgr0
Iniciar nova instância do Firefox quando o mesmo não está respondendo
Backup de Repositórios Subversion
Firewall completo com iptables
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









