我有一个这样的模板文件:
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
但有没有办法动态地做到这一点呢?