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)