標準出力で環境変数を設定する

標準出力で環境変数を設定する

パイプを介して標準出力を「エクスポート」するのと同じ機能をどのように達成できますか?

背景には、次の環境変数を生成する非シェルスクリプトがあります。

DATABASE_URL='someurl'
MAIL_KEY='key'
REDIS_URL='redis connection string'

私はその出力を取得し、次のように実行したいと思います: generate-env | xargs export

残念ながら、エクスポートはバイナリファイルではなく、評価ファイルでもありません。出力をファイルに書き込み、ソースを使用して実行したくありません。可能ですか?

ベストアンサー1

あなたはそれを使用することができますeval

$ set -a
$ eval "$(command_that_generate_output)"
$ set +a
$ sh -c 'printf "%s\n" "$DATABASE_URL"'
someurl

おすすめ記事