1、例如是需要替换的密码中有特殊字符
前提条件:
1、env.conf配置文件中有pwd的配置
2、项目properties中admin_pwd的占位符
目标:
1、需要将env.conf中的密码替换properties中的占位符
env.conf文件内容
pwd=!@#$%^&*()_+\[]{}'";:<>/?
properties文件内容
admin_pwd=admin_pwd
替换脚本实现:
#/bin/sh
function convert(){
keyword=${1//\\/\\\\}
keyword=${keyword//&/\\&}
keyword=${keyword//\ /\\ }
#keyword=${keyword//./\\.}
#keyword=${keyword//*/\\*}
#keyword=${keyword//&/\\&}
#keyword=${keyword//$/\\$}
#keyword=${keyword//+/\\+}
#keyword=${keyword//=/\\=}
#keyword=${keyword//^/\\^}
#keyword=${keyword//%/\\%}
#keyword=${keyword//!/\\!}
#keyword=${keyword//@/\\@}
#keyword=${keyword//#/\\#}
#keyword=${keyword//[/\\[}
#keyword=${keyword//]/\\]}
#keyword=${keyword//-/\\-}
#keyword=${keyword//\?/\\\\?} ?号不能转义.否则要报错
#keyword=${keyword//"/\\"}
echo $keyword
}
pwd=$(cat pwd.conf | grep pwd)
pwd="${pwd:4}"
echo ${pwd}
pwd=`convert ${pwd}`
echo ${pwd}
sed -i "s|admin_pwd|${pwd}|g" b