Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: mario290386 en 23 Junio 2018, 12:18 pm



Título: Ejecutar archivo de configuración con variables desde source
Publicado por: mario290386 en 23 Junio 2018, 12:18 pm
Hola a todos!! tengo un problema que no consigo resolver, haber si le ha pasado a alguien y me puede echar una mano :D

Tengo un script de configuración llamado config.sh en el que defino diferentes variables de uso temporal, por ejemplo:
Código:
export ip1=99
export ip2=100

Y luego tengo un script llamado general.sh desde el cual quiero ejecutar el script anterior config.sh, este es su contenido
Código:
#!/bin/bash

echo exportando variables

. config.sh

source config.sh

Pues el problema es que no consigo exportar esas variables, al ejecutar desde la terminal el script "general.sh" se ejecuta todo sin problemas pero si hago un "echo $ip1" la variable no tiene ningún valor, lo curioso es que si desde la terminal añado "source config.sh" entonces la variable $ip1 si que me devuelve su valor.

No entiendo porque al poner "source config.sh" desde el script no se asignan las variables y al hacerlo desde la terminal si se añaden, que estoy haciendo mal? he probado varias cosas como " echo 'source config.sh' " pero no consigo que funcione desde el script. Entonces, ¿de que manera se añaden ejecutan comandos desde un script como si fuesen desde la terminal?
Gracias!


Título: Re: Ejecutar archivo de configuración con variables desde source
Publicado por: mario290386 en 23 Junio 2018, 20:19 pm
Por favor cualquier pista me serviría de ayuda :rolleyes:, no entiendo como el mismo comando al ejecutarlo por la terminal si que me guarda las variables pero si lo ejecuto mediante un script la variable me aparece vacía, y sin duda es el mismo comando, parece que al intentar ejecutar fuera de la terminal el comando source  se comporta de manera distinta y hace falta otra sintaxis al ser un comando de sistema.