shell 脚本字符串脱字符 技巧

sed 要替换一个字符串,但替换结果中含有特殊字符,引起sed的表达式错误,比如 

sed -r "s/^url.*$/url=$(pwd)/" rt.conf

 $(pwd)这个表达式中,含有斜杠,与sed中的分隔符是冲突了,所以要先处理

x=file://$(pwd)
#注意以下替换,x后接了两个//,如果只接一个,只会替换第一个。
DIR="${x//\//\/}"
sed -f "s/^url.*$/url=$x/" rt.conf

猜你喜欢

转载自neo-it.iteye.com/blog/2399700