establecer variables de entorno desde stdout

establecer variables de entorno desde stdout

¿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

información relacionada