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: shell-script@yahoogrupos.com.br
>To: shell-script@yahoogrupos.com.br
>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

<*> 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