创建一个模板,在模板内直接写变量
vim a.model
#This is app config model
app_name=$name
app_ip=$ip
shell 脚本直接替换变量
vim b.sh
#!/bin/bash
name="bill_server"
ip="192.168.3.22"
all_variables="name=$name ip=$ip"
cp -a a.model rfile.conf
resourcefile=cat rfile.conf
printf "$all_variables\ncat << EOF\n$resourcefile\nEOF" | bash > rfile.conf
运行脚本后,查看生成的配置文件:
cat rfile.conf
#This is app config model
app_name=bill_server
app_ip=192.168.3.22
是不是很方便?如果有很多环境用一样的配置文件,用这个方法做配置文件,是不是很方便,只要把shell中的变量换成从外边传参,复制的文件也饿改成变量,就可以一下生成很多相同格式内容不同的文件了。如果这个配置文件足够长,那么省了多少正则呢?
shell定义带变量的模板,直接修改变量,用这种方法再也不用担心正则匹配不准的问题了
原文:http://blog.51cto.com/rsddn/2085892