On Wed, Nov 27, 2002 at 12:53:57PM +0100, Victor Calzado Mayo wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hola
> On Wednesday 27 November 2002 12:14, Emilio J. Padrón wrote:
> > Hola lista,
> >
> > ¿cómo puede hacer para que una variable de entorno que hereda una
> > subshell se pueda modificar en esa subshell y el valor modificado quede
> > actualizado en la shell padre?
> 
> Si se trata de pasar cosas entre una subshell y su shell madre no puedes 
> utilizar variables de entorno, aunque no te lo podría jurar, si necesitas que 
> un script herede las variables modificadas por otro puedes evitar usar el 
> fork de la subshell ejecuntando el script2 con .
> 
> ....
> 


Gracias a todos por las respuestas. 

El problema básico me lo estoy encontrando al enlazar dos comandos con
una tubería dentro de un scripts:

grep -h "${ETIQUETA}" ${1:-*} | while read KK0 KK1 T

en el while lo que hago es buscar los valores máximo y mínimo en una
lista de valores (resultado del grep). El caso es que no consigo que una
vez ejecutado el while los valores de las variables MAX y MIN
permanezcan (los comandos enlazados por una tubería se ejecutan cada
uno en una subshell, según tengo entendido). Es decir, algo como:

----------------
export MAX=0

grep -h "${ETIQUETA}" ${1:-*} | while read KK0 KK1 T
do

if [ $MAX ]
then
        if [ `echo "$T<$MAX" | bc` = 1 ]
        then
        continue
        fi
fi
MAX=$T
done

echo $MAX
----------- 
y que funcione, claro :-)

como me habéis dado varios consejos interesantes a ver si busco una
solución/alternativa.

Gracias a todos

Responder a