背景:
工作中需要对nginx中已存在的旧域名迁移到新域名(从.cn迁移到.top),由于需要替换的域名会比较多,新域名在使用的同时,需要生成对应的conf文件。一个个复制效率就比较低了,此时我们可以找到迁移中存在的一些共性,通过脚本的方式生成新的文件并替换文件中旧的域名信息。
功能实现:
话不多说,先上功能实现,下面再补充在功能实现过程中遇到的一些知识点,作为信息记录
#!/bin/bash
cd /opt/nginx/conf/ #接脚本具体存放路径,绝对路径
for i in $* #$*表示脚本接受参数,多个参数用空格符进行分隔
do
cp XXX.conf ${i}.conf #XXX.conf为标准文件,做为备份的参考、${i}.conf生成指定文件
sed -i "s/XXX/${i}/g" ${i}.conf #对新生成文件中还存在旧的域名配置进行替换
done
具体执行:
sh 脚本.sh name1 name2 #往后接参数即可
知识总结:
1.脚本接cd路径,为避免在执行时因位置不对,文件无法找到,导致脚本无法执行
2.$*表示在脚本执行时可以接收输入的参数,多个参数以空格符进行分隔
3.使用for循环,依照一个标准的文件,生成我们实际需要的文件
4.使用sed命令,将标准文件中固定的域名信息进行替换,改为我们实际的参数
注意:此处sed命令需要使用双引号