YAMLテキストファイルから解析された環境変数のエクスポート

YAMLテキストファイルから解析された環境変数のエクスポート

YAMLファイルでいくつかの環境変数を宣言しました。たとえば、次のようになります。

runtime: python37

env_variables:
  API_URL: 'https://fake.api.com/'
  API_USERNAME: '[email protected]'
  API_PASSWORD: 'Passwooord'

スクリプトを使用して環境変数にエクスポートしたいと思います。正しい構文をエコーできますが、それでもエクスポートできません。

sed -nr '/env_variables:/,$ s/  ([A-Z_]+): (.*)/\1=\2/ p' app.yaml | while read assign; do echo $assign; done

これは以下に関連しています。これ私の場合、変数名もパイプされます。

答え1

sedコマンドが形式の行を正しく出力すると仮定すると、var=value次のことができます。

while read assign; do
 export "$assign"; 
done < <(sed -nr '/env_variables:/,$ s/  ([A-Z_]+): (.*)/\1=\2/ p' app.yaml)

または、エクスポートする必要がなく、入力がかなり安全な場合(シェル構文なし)

. <(sed -nr '/env_variables:/,$ s/  ([A-Z_]+): (.*)/\1=\2/ p' app.yaml)

関連情報