如何才能實現相當於將標準輸出通過管道「導出」的功能?
對於背景,我有一個非 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