1、DevOps可以实现快速部署,但是二次开发的情景也是需要的,有些时候,一个发布包,需要部署在不同的服务器,部分参数信息需要根据不同的服务器环境进行动态更新。
2、下面的代码为了解决如下问题:
配置文件中每行有两列,分别是配置项名称和配置项对应的值
从配置项逐行读取参数名称和参数值,并替换至脚本文件中。
abc.txt
nnnnnnnn{{projectid}}dddddddddddddddd
---------------------------------------------------------------------------------------------
config.txt
projectid p1|p2
---------------------------------------------------------------------------------------------------
IFS_old=$IFS
IFS=$'\n'
cp abc.txt abc1.txt
for line in `cat config.txt`
do
IFS=$IFS_old
arr=($line)
sed -i s/{{${arr[0]}}}/${arr[1]}/g abc1.txt
done
cat abc1.txt
IFS=$IFS_old
--------------------------------------------------------------------------------------------------------
运行结构
nnnnnnnnp1|p2dddddddddddddddd