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