Barra de progresso em shell
Publicado por Daniel Miyagi (última atualização em 10/02/2011)
[ Hits: 16.285 ]
Estive procurando estes dias alguma forma de criar uma barra de progresso em shell script, encontrei um código e fiz algumas alterações que acredito ter ficado melhor. Espero que tenha utilidade para alguém.
Falou!
#!/bin/bash
# Daniel Miyagi (j4p0n3g0)
# 24/01/2011
array[1]=$(echo "\\")
array[2]=$(echo "|")
array[3]=$(echo "/")
array[4]=$(echo "-")
SPACE="-"
LIMITE=$(tput cols)
COLUNA=$((LIMITE - 15))
INDICE=0
CONTADOR=0
PORCENTAGEM2=0
clear
while true ; do
INDICE=$(echo "$INDICE + 1" | bc)
tput cup 0 0
echo "$PORCENTAGEM2% - ["
SPACE=$(echo "$SPACE-")
tput cup 0 8
echo -e "\e[31;1m$SPACE>\e[m\n"
tput cup 0 $COLUNA
echo "] ${array[$INDICE]} - Progresso"
sleep 0.01
CONTADOR=$( expr 1 + $CONTADOR)
if [ $INDICE = 4 ]; then
INDICE=0
fi
TAMANHO2=$( echo $SPACE | wc -c )
TAMANHO=$( echo "$TAMANHO2 - 1 " | bc )
COLUNA2=$( expr $COLUNA - 9 )
[ $TAMANHO -eq $COLUNA2 ] && break
TAMANHO3=$(echo "$TAMANHO + 10" | bc)
PORCENTAGEM=$(echo "$TAMANHO3 * 100" | bc )
PORCENTAGEM2=$(echo "$PORCENTAGEM / $COLUNA" | bc )
done
Trocando plano de fundo no flux de forma gráfica
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









