Created
March 30, 2022 18:15
-
-
Save Microjus/a1d76841ee538d388768b83e8476991e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
#------------------------------CABEÇALHO---------------------------------------| | |
# | |
# AUTOR: | Microjus <[email protected]> | |
# URL: | https://github/Microjus/Micro-ProgressBar_V4/ | |
# DATA: | 2021-25-17 | |
# PROGRAMA: | Micro-progressbar_v4 | |
# VERSÃO: | final | |
# LICENÇA: | MIT | |
# DESCRIÇÃO: | Barra de prgresso para dar mais interatividade | |
# ao seu programa, usando array, loop for ete, | |
# explicado e com exemplos. | |
# O ARRAY DECLARADO ESTIPULA A QUANTIDADE TOTAL DE ETAPAS | |
# COM O PARAMETRO -R INDICANDO UMA VARIAVEL READ | |
declare -r etapas=('etapa1' 'etapa2' 'etapa3' 'etapa4') | |
# ASPAS SIMPLES PORQUE NENHUM CARACTERE ESPECIAL PRECISA SER INTERPRETADO | |
declare -r etapas_total=${#etapas[@]} | |
# DEFINE O TAMANHO MAXIMO DA ARRAY DE ETAPAS | |
declare -r barra="==============>" | |
# DEFINE COMO SERA E O TAMANHO DA BARRA QUANDO CONCLUIR O LOOP | |
declare -r barra_total=${#barra} | |
# Iniciando o loop com o for | |
# for i in "${!etapas[@]}"; do | |
# echo "[] $i %" # EXIBE a etapa decorrente | |
# done | |
for etapa in "${!etapas[@]}"; do # VINCULANDO ETAPA COM A VARIAVEL ETAPAS DECLARADA | |
percentual=$(((etapa + 1) * 100 / etapas_total)) # CALCULOS EM SHELL SAO FEITOS ENTRE () | |
# DESSA FORMA SOMAMOS A ETAPA ATUAL COM 1 DE ACORDO COM A PROCENTAGEM 100 | |
# E DIVIDIMOS POR ETAPAS TOTAL (4 ETAPAS) | |
percentualbarra=$((percentual * barra_total / 100)) | |
sleep 1 | |
# ASSIM A BARRA SERA EXIBIDA NA MESMA LINHA COM O PARAMETRO -N | |
# -E FAZ COM QUE O PONTEIRO VOLTE PARA O INICIO DA LINHA | |
echo -ne "\\r[${barra:0:percentualbarra}] $percentual %" | |
# 0 é o inicio e percentualbarra é o final | |
#echo "[${barra:0:percentualbarra}] $percentual %" | |
# SERA EXIBIDO A $BARRA E $PERCENTUAL DE ACORDO COM O LOOP | |
# DESSA FORMA A BARRA SERA EXIBIDA EM MULTPLAS LINHAS | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment