Bom.. eu tava escrevendo aqui mas deu a hora de ir embora..

da uma olhadinha no que fiz, talvez te ajude:

[EMAIL PROTECTED]:~/scripts# TOTAL=10000
[EMAIL PROTECTED]:~/scripts# CUR=1
[EMAIL PROTECTED]:~/scripts# echo -n "["; while [ $CUR -le $TOTAL ]; do
let TMP=$CUR/\($TOTAL/100\); if [ $((TMP % 10)) == 0 ]; then echo -n
"##"; fi; let CUR=$CUR+100; done; echo -n "]"
[####################]

Sorte,

Flávio do Carmo Junior

On 10/24/06, Reinaldo Marques de Lima <[EMAIL PROTECTED]> wrote:
> eu tenho um script que criai para testes com tput, vc pode adapta-lo para
> seu proposito, ai vai:
>
> +-----------------------------------------------------------------------------------------------------------------------------+
>
> #!/bin/bash
>
> #....[ Ficha: ]...........................................................#
> #                                                                         #
> # Script: progress.bsh                                                    #
> # Escrito por: Reinaldo Marques de Lima ( Plastico )                      #
> # Criado em: 10/07/2006                                                   #
> #                                                                         #
> #....[ Descricao: ].......................................................#
> #                                                                         #
> # Script criado para testes com tput, gera uma barra de progresso na linha#
> # de comando.                                                             #
> #                                                                         #
> #.........................................................................#
>
> SPACE=" "
>
> #( Array de caracteres a serem mostrados )................................#
>
> array[1]=$(echo "\\")
> array[2]=$(echo "|")
> array[3]=$(echo "/")
> array[4]=$(echo "-")
>
> #( Variaveis que controlam o tamanho do terminal )........................#
>
> LIMITE=$(tput cols)
> COLUNA=$((LIMITE - 15))
>
> #( Indices do while ).....................................................#
>
> INDICE=0
> CONTADOR=0
>
> clear
>
> #( Looping que vai gerar a barra )........................................#
>
> while [ $CONTADOR != 100 ]; do
>
>         let INDICE++
>         tput cup 0 0
>         echo "["
>         for i in `seq $CONTADOR`; do
>
> #               SPACE=${SPACE}' '
>                 SPACE=${SPACE/% /  }
>
>         done
>         tput cup 0 1
>         echo -e "\e[44;1m$SPACE\e[m\n${#SPACE}"
>         tput cup 0 $COLUNA
>         echo "] ${array[$INDICE]} - Progresso"
>         sleep 1
>         CONTADOR=$((CONTADOR+1))
>         if [ $INDICE = 4 ]; then
>                 INDICE=0
>         fi
>         [ ${#SPACE} -gt $COLUNA ] && exit
>
> done
>
> clear
>
> #( Fim! Esse nao ta tao facil assim neh? )................................#
>
>
> +-----------------------------------------------------------------------------------------------------------------------------+
>
> []'s
>
> Reinaldo / Plastico
> <!--
>           BLOG:
>           http://plasticossj4.wordpress.com/
>
>      -->
>
>
>
>
> >From: "Rafael Leandro" <[EMAIL PROTECTED]>
> >Reply-To: [email protected]
> >To: [email protected]
> >Subject: [shell-script] Barra de progresso #######
> >Date: Tue, 24 Oct 2006 13:47:42 -0300
> >
> >Gostaria de saber como fazer uma barra de progresso em shell. tipo
> >(#############).
> >Eu tenho um scriptzinho que faz um backup de uma partião a outra. Como
> >implementar essa barra no momento em que os arquivos estiverem sendo
> >copiados?
> >
> >--
> >============
> >
> >Atenciosamente
> >
> >Rafael Leandro
> >Linux User #431877
> >
> >
> >[As partes desta mensagem que não continham texto foram removidas]
> >
>
> _________________________________________________________________
> MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a