Zenity barra progreso

Simón jmsimonr en gmail.com
Sab Jun 23 18:44:32 BST 2007


Hola,
  Estoy haciendo un script en el que tengo el siguiente código:

for fichero in "$DIR_ORIGEN"/*.mp3
do
    echo $((NUM*5)) 
    ARTISTA=$(mp3info2 -p %a "$fichero")
    ALBUM=$(mp3info2 -p %l "$fichero")
    GENERO=$(mp3info2 -p %g "$fichero")
    ANY=$(mp3info2 -p %y "$fichero")
    NUM=$(mp3info2 -p %n "$fichero")
    [ $NUM -gt 0 ] || (( NUM +=1 ))
    TITULOS[$NUM]=$(mp3info2 -p %t "$fichero")
done | zenity --progress --title="Actualizando" \
       --text="Obteniendo las etiquetas de los ficheros..." \
       --percentage=0 --auto-close 

  El tema está en que las variables (usando el pipe para poder mostrar
la barra de progreso) cuando sale del bucle vienen vacías (si saco el
tema de la barra de progreso funciona bien). No entiendo lo que pasa.
Encuentro que es un sistema muy cutre si no puedes usarlo para asignar
valores de variables o similares. 
  He visto un ejemplo en una web que podría funcionar (porque no usa el
pipe) pero no me funciona, el ejemplo es algo así:

#!/bin/bash    
exec 3>zenity --progress   
# do something   
echo 50 >&3   
# do more    
echo 75 >&3    
# done!   
echo 100 >&3

  Pero a mi me da error el comando exec cuando lo uso de esta manera.
  Alguna sugerencia?

  Un saludo,


________________________________________________________________________

   Simón 
   Usuario Linux nº 413.257 (http://counter.li.org/)
   Usuario Ubuntu nº 11312 (http://ubuntucounter.geekosophical.net/)




Más información sobre la lista de distribución ubuntu-es