Linux/Unix Shell Scripting - Variables de entorno

 
Vista:

Variables de entorno

Publicado por Carretero (1 intervención) el 25/05/2009 10:03:49
Hola, soy totalmente novato en esto de unix y tengo una duda:

Tengo que ajustar el valor de ciertas variables de entorno: $DISPLAY, $TMP, $PATH....

Como es algo que realizó varias veces y siempre asignando el mismo valor me estoy
intentando hacer un script:

#!/bin/bash

echo "DISPLAY = " $DISPLAY
export DISPLAY=localhost:1
echo "DISPLAY= " $DISPLAY

al ejecutarlo, veo que entra un valor, que ese valor se cambia a localhost:1, pero cuando después hago un echo desde fuera del script veo que el valor no se ha cambiado. Es decir
que la variable DISPLAY parece que se pasa por valor, y realmente le estoy cambiando el valor a una copia y lo a la variable DISPLAY del usuario.

No se si me explico. ¿Alguien puede decirme como hacer esto, o que estoy haciendo o entendiendo mal?

Gracias de antemano.
Un saludo a todos.
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

RE:Variables de entorno

Publicado por xae (9 intervenciones) el 25/05/2009 23:18:22
Con 'export' haces accesible la variable en el entorno de ejecución, pero este efecto se pierde cuando se sale del script, en vez de ejecutar el script debes incluirlo con el comando ".", por ejemplo:

. mi_script.sh

A partir del momento de la inclusión las variables serán accesibles en el entorno, hasta que abandones la shell en ejecución.

Existen una serie de ficheros de arranque que bash incluye cada vez que inicia una shell, puedes incluir en éstos las sentencias 'export' para tener accesibles las variables cuando te sea conveniente, 'man bash' para los detalles...
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