Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Preguntilla Sobre Shell Scripting En Linux

Iniciado por DraKKaR, 14 de Octubre de 2003, 12:27:46 AM

« anterior - próximo »

DraKKaR

 La cuestión es simple, tengo 2 scripts:
s1.sh
s2.sh

s1.sh inicializa la variable KAKA=1.
Quiero poder leer el valor de la variable KAKA desde s2.sh para utilizarlo.

¿Como?

Gracias de antemano.

Zaelsius

 mmm.. una manera es pasarlo por parámetro, en el caso de que un script llame al otro.

Otra manera es utilizando variables de entorno(la mejor creo), y como última solución un fichero en lugar común para intercambiar datos.

DraKKaR

 Creo que no puedo pasarlo como parámetro. El funcionamiento de los script deberia ser el siguiente.


(Se ejecuta s1.sh)
    |
    |--> (recuperar valor de la variable KAKA definida en s2.sh)
                   |
                   |
    |<---------|
    |
    |
(usar el valor de la variable KAKA)


Además en realidad no es una única variabe la que quiero recuperar, sino un número arbitrario de ellas.
Creo que la solución es definir las variables en s2.sh de forma global y que puedan ser utilizadas en otros módulos (s1.sh) al ejecutarlo.
Lo he intentado de varias maneras pero no ha resultado.
¿Podeis darme algún código de ejemplo?

HgH

 No soy ni mucho menos un experto en unix, pero ¿has probado a hacer un
export KAKA

Lo que no se es si al definir la variable en el s2.sh, el valor se mantendrá al volver al s1.sh


En fin, nada pierdes por probar    B)  
gH _ TLOTB
..................
"No queremos estar obligados, por nada ni nadie, a pensar sólo en lo que es más comercial. Siempre seremos, antes que nada, programadores"

- Equipo de Zigurat -

Zaelsius

 Bueno un ejemplito:

1.sh
export KAKA=MiValor

2.sh
echo El valor de KAKA es $KAKA

La variable de entorno(o global) KAKA persiste para esa sesión de consola.

Si quieres que permanezca en multiples sesiones sí tendrias que definirla en algun archivo de inicio.. pero no te hace falta según tu problema.

ethernet


seryu

 ethy, vas a seguir los pasos de mars o algo asi?  :blink:  

DraKKaR

 Ya lo tengo solucionado, muchas gracias señores. El export era una solución, pero no se adaptaba demasiado a lo que queria (no queria que en el s2.sh tuvieras que poner 'export' delante de cada variable). Asi que he optado por un par de filtros del shell para obtener los valores de las variables.

ethernet

 En que sentido seryu?
Me referia que para automatizar tareas python me parece bastante mas potente si tienes q hacer cosas algo mas serias q borrar algunos ficheros y crear 2 carpetas.

saludos

samsaga2

 Para hacer scripts de administracion prefiero el perl de lejos  :D  

ethernet


TheWind

 Yo uso php hasta para el shell scripting.  






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.