[eside-ghost] Bash - Filtrando salida de proceso mientras se guarda en variable

Pablo Garaizar Sagarminaga garaizar en deusto.es
Mie Ago 1 13:10:08 CEST 2012


Aupa,

El Wed, 1 Aug 2012 12:38:48 +0200
Jon Valdés <juanval en gmail.com> comentaba:

> Lo he estado intentando, y no lo consigo.
> Sospecho que el "while" crea un entorno distinto que no comparte las
> variables con el script original, porque esto no tira

Tienes razón, no funcionaría. Pero la razón no es que dentro del while
las variables sean locales y al salir las pierdas. Si no, esto no
funcionaría:

I=0
N=1
while test $N -le 1000
do
  I=$(expr $I + $N)
  N=$(expr $N + 1)
done
echo $I

Creo que la razón es que al poner el | después del find, el while se
crea en un proceso diferente al script actual, y por eso no comparten
variables. 

Quizá con pipes numerados podría hacerse algo también. Luego por la
noche pienso algo ;-)

-- 
  Pablo Garaizar Sagarminaga
  Universidad de Deusto
  Avda. de las Universidades 24
  48007 Bilbao - Spain

  Phone:       +34-94-4139000 Ext 2512
  Fax:                  +34-94-4139101


Más información sobre la lista de distribución eside-ghost