我想自动转义字符串中的一些特殊字符。我想通过一些 sed 来回显该字符串并通过管道传输它。这似乎在反引号内不起作用。那为什么
echo "foo[bar]" | sed 's/\[/\\[/g'
返回
foo\[bar]
但
FOO=`echo "foo[bar]" | sed 's/\[/\\[/g'` && echo $FOO
刚回来
foo[bar]
?
与 sed 相比,tr 在反引号内完美运行:
FOO=`echo "foo[bar]" | tr '[' '-' ` && echo $FOO
返回
foo-bar]