我使用sed替换文件中的url,当url包含'\'时,一切正常打嗝
exmaple url:http * * ://www.example.com/simi/icr
# variables
ICR_KEY=somekey
ICR_KEY_VAL="http\://www.example.com/simi/icr"
sed "s!${ICR_KEY}=.*!${ICR_KEY}=${ICR_KEY_VAL}!" properties > tmp
这将替换URL,但输出不包含变量值的反斜杠。
答案 0 :(得分:1)
bash和sed都将反斜杠解释为转义字符。使用单引号来阻止bash,并加倍sed的反斜杠:
ICR_KEY_VAL='http\\://www.example.com/simi/icr'