次のテンプレートファイルがあります。
export const environment = {
api: {
url: '$API_URL',
key: '$API_KEY',
}
}
実際のプレースホルダの値を次のように置き換えようとしています。
sed 's/$\([A-Z_]*\)/$(\1)/g' ./input.ts ./output.ts
したがって、プレースホルダを環境変数の実際の値に置き換えたいのですが、上記のスクリプトを実行すると、次の結果が表示されます。
export const environment = {
api: {
url: '$(API_URL)',
key: '$(API_KEY)'
}
}
したがって、次の変数が与えられます。
export API_URL=someurl
export API_KEY=key
私は出力が次のようになります:
export const environment = {
api: {
url: 'someurl',
key: 'key'
}
}
変数名を明示的に指定することでこれを達成できます。
sed -e 's|$API_URL|'$API_URL'|g
s|$API_KEY|'$API_KEY'|g
./in.ts > ./out.ts
しかし、これを動的に処理する方法はありますか?