Linux/Unix Shell Scripting - Include en SHELL

   
Vista:

Include en SHELL

Publicado por Alnorte (3 intervenciones) el 13/06/2012 11:56:19
Buenos dias.

Tengo un conjunto de script que me facilitan ciertos trabajos, como el movimiento de archivos y demas... La cuestion es que mas de una variable se me repite en todo los script, me preguntaba si seria posible agrupar dotas ellas en un mismo archivo e importarlos en tiempo de ejecucion a los script que se ejecuten.

Una especie de include de un .h donde se definen las variables.

Alguien sabe como se puede hacer algo así que cada vez que cambio el nombre de una carpeta tengo que recorrer todos los script modificando esa variable, de la otra forma cambiando solo en un fichero se modificaria en todos los sitios.

Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Include en SHELL

Publicado por caic (82 intervenciones) el 13/06/2012 14:09:08
Hola,

Si defines todas esas variables en un script puedes ejecutar el comando source para cargarlas. Por ejemplo:

source variables_de_entorno.sh

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Include en SHELL

Publicado por Alnorte (3 intervenciones) el 13/06/2012 16:58:50
Muchas gracias por la ayuda.

como siempre un PERO, tengo el script que va a ejecutar de la siguiente manera

#!/bin/bash

source /home/.../global_var

...

y en el fichero que se utilizara para las variables "globales"

#!/bin/bash

GLOBAL_VAR1=a
GLOBAL_VAR2=b

al ejecutar el parser se encuentra dos veces con la sentencia "#!/bin/bash" puede generarme algun problema?

en el archivo source si no pongo el #!/bin/bash no me introduce las variables.
Como realizo el source sino?
MUCHAS GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Include en SHELL

Publicado por Tom (253 intervenciones) el 14/06/2012 14:51:35
Aunque no debería hacerte falta incluir #!/bin/bash ... puedes hacerlo todas las veces que quieras.
Te recomiendo, por si acaso, hacer export de las variables globales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Include en SHELL

Publicado por Alnorte (3 intervenciones) el 14/06/2012 14:58:00
Gracias Tom por la ayuda, pero no he entendido lo ultimo.

"Te recomiendo, por si acaso, hacer export de las variables globales."

Cuando utilizo el termino "variable global" no me estoy refiriendo a variable del sistema, sino a variables que son iguales, con el mismo valor , pero que se me repiten en mas de un script, pudiendo cambiar en un solo archivo y utilizándolos en mas de un script

MUCHAS GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Include en SHELL

Publicado por caic (82 intervenciones) el 14/06/2012 19:19:15
Creo que a lo que se refiere Tom es q todas las variables globales deberían ir al global_var de la siguiente forma:

export GLOBAL_VAR1=a
export GLOBAL_VAR2=b

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar