![establecer variables de entorno desde stdout](https://rvso.com/image/89148/establecer%20variables%20de%20entorno%20desde%20stdout.png)
¿Cómo se puede hacer el equivalente de canalizar la salida estándar para 'exportar'?
En segundo plano, tengo un script que no es Shell y que genera variables de entorno como esta:
DATABASE_URL='someurl'
MAIL_KEY='key'
REDIS_URL='redis connection string'
Me gustaría tomar ese resultado y ejecutarlo, algo como:
generate-env | xargs export
Desafortunadamente, export no es un binario, y tampoco lo es eval. Preferiría no tener que escribir mi salida en un archivo y ejecutarla con el código fuente. ¿Es esto siquiera posible?
Respuesta1
Puedes usar eval
:
$ set -a
$ eval "$(command_that_generate_output)"
$ set +a
$ sh -c 'printf "%s\n" "$DATABASE_URL"'
someurl