在一个项目中,我想用一个配置模板文件自动生成配置文件,即为从nginx.conf.template
自动生成一个特定的nginx.conf
。
如果使用bash来填充展开模板,则需要eval,或者source之类的操作,因为bash不支持对字符串(当作数据读取的文件中的字符串,而不是shell脚本中字符串)的变量替换。
解决方案是用 envsubst
。 这个命令支持使用环境变量展开字符串模板。
#一般用法
envsubst < nginx.conf.template > nanjing.conf
#指定特定待替换的环境变量
envsubst '${VAR_NAME}' < nginx.conf.template > nanjing.conf