Escape backslash in variable
问题 I am using sed to replace url's in a file, everything works fine just a hiccup when the url contains a '\' 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 This replaces the URL, but the output does not contain the backslash from the variable value. 回答1: Both bash and sed interpret the backslash as escape character. Use single quotes to prevent this for