[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Progress bar
From: |
Fabricio Lopes de Souza |
Subject: |
Progress bar |
Date: |
Mon, 19 Dec 2005 11:53:42 -0200 |
Estou tentando fazer uma barrinha que mostre +- o quanto foi executado
do processo e talz.
Algumas duvidas surgiram :
Eh possivel de alguma forma o script conseguir ler o conteudo de
COLLUMNS sem ter que exportar ?
A algum outro jeito de fazer essa barra ?
ta ai o meu teste
Script meramente ilustrativo :)
[code]
#!/bin/bash
[ $COLUMNS ] || {
echo Você precisa exportar a variável \"COLUMNS\":
echo "Tente \"export COLUMNS\" e tente executar novamente"
exit 1
}
read -p "Qual o tamanho do arquivo ? [ em KB ] : " size
read -p "Qual o nome do arquivo? : " name
> $name
echo -n "|="
verbose=$(expr $size / $COLUMNS )
flag_B=0
for i in $(seq 1 $size) ; do
if [ $flag_B -eq 0 ] ; then
flag_A=$i
flag_B=1
fi
temp=$(expr $flag_A + $verbose)
if [ $i -eq $temp ] ; then
echo -n "="
flag_B=0
fi
cat a >> $name
done
echo -n "|"
echo ""
echo "DONE!"
[/code]
explicando
Primeiro se exporta COLUMNS para sabermos o tamanho do terminal
Depois pegamos o tamanho do arquivo que se quer , seguindo do
pressuposto que o arquivo "a" tem 1KB . Tamanho do Arquivo ($size) /
Colunas ($COLUMNS) = Intervalo ($verbose) , ou seja a cada intervalo
devera aparecer um caracter .
Espero que fui claro ...
Abracos :)
- Progress bar,
Fabricio Lopes de Souza <=