I want to escape some special chars inside a string automatically. I thought of echoing that string and pipe it through some seds. This doesn\'t seem to work inside of backt
You need to escape the backslashes between the backticks.
FOO=`echo "foo[bar]" | sed 's/\\[/\\\\[/g'` && echo $FOO
Alternatively, use $() (this is actually the recommended method).
$()
FOO=$(echo "foo[bar]" | sed 's/\[/\\[/g') && echo $FOO