[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: script para cambiar DISPLAY



On Fri, 25 Aug 2000, Ignacio García Fernández wrote:

> Tengo un script para cambiar la variable DISPLAY que dice así:
> 
> #! /usr/bin/sh
> export DISPLAY=maquina.remota.es
> 
> El caso es que lo ejecuto y no pasa absolutamente nada.
> 
> Tampoco ocurre nada si le digo
> 
> $ sh ./script
> 
> Alguien puede echarme una mano?

	Esa me la sé. Si lo ejecutas con el nombre del script
('./script') o especificando un shell ('sh ./script') (ambas cosas son
equivalentes) la asignación de la variable DISPLAY y la 'exportación' de
dicha variable se realizan en el entorno del shell creado para ejecutar el
script. Cuando termina el script, ese shell acaba y su entorno se
pierde. Sus hijos (si hubiera tenido alguno) habrían heredado las
variables 'exportadas'. Pero el shell desde el que hemos ejecutado el
script es _su_padre_ y, claro, no hereda nada. Todo se ha perdido.

	Lo que queremos en este caso es que las instrucciones contenidas
en ese script se ejecuten _en_nuestro_shell_ y que no se cree un hijo para
ejecutarlas. Lo que necesitamos es el comando 'source' o su equivalente
'.'. Son comandos internos del shell y hacen justo lo que queremos. Así
que yo creo que si ejecutas

		source ./script 	(o source script)
	o
		. ./script		(o . script)

	la cosa debería funcionar.

	Y espero que funcione. Suerte.

                                        -- Eloy
_____________________________________________________________________
---- Eloy Rafael Sanz Tapia -- ersanz@uco.es -- ma1satae@uco.es -----
------------------ http://www.uco.es/~ma1satae ----------------------
----------- GPG ID: 190169A0 / finger eloy@rabinf50.uco.es ----------
Córdoba _ España _______________ Debian 2.2 GNU/Linux 2.2.16 rabinf50



Reply to: