Barra de progresso em shell
Publicado por Daniel Miyagi (última atualização em 10/02/2011)
[ Hits: 16.091 ]
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
Baixando fotos de uma câmera digital pela USB
Ferramenta para o CBQ - parte 1
bash: função para validação de IP (IPv4)
Execução remota com SSH e HERE DOCUMENTS descomplicada
SCRIPT PARA INSTALAÇÃO DE PROGRAMAS NO LINUX
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Linux Mint limitando rede a 20Mbps (6)
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)