從標準輸出設定環境變數

從標準輸出設定環境變數

如何才能實現相當於將標準輸出通過管道「導出」的功能?

對於背景,我有一個非 shell 腳本,它會產生環境變量,如下所示:

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

我想獲取該輸出並執行它,例如: generate-env | xargs export

不幸的是,export 不是二進位文件,eval 也不是。我不想將輸出寫入文件並使用原始程式碼運行它。這可能嗎?

答案1

您可以使用eval

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

相關內容