在工作中,经常遇到一种场景:为了方便测试,需要把脚本(配置)从线上环境拖到一个本地的测试环境,
然后需要对一些配置进行修改。有时候,系统比较负责,需要修改的地方如此之多,需要用sed处理。
这里提供一种相对快捷的方式:
#common function
function change_val(){
option=$1
val=$2
path=$3
sed -i "s#$option#$val#g" $3
}
easy_sed(){
change_val "^$1=.*" "$1=$2" $3
}
待处理的配置文件格式:
a="/your/old/path"
b="hello"
然后,a想变成a="/your/new/path' b变成world
可以这么执行:
a=/your/new/path
easy_sed "a" "${a}" $confi_path
这么做的好处是,当要修改的配置很多时,就变得非常方便了,同时不容易出错。