Я хочу избежать некоторых специальных символов внутри строки автоматически. Я подумал об эхом этой струны и протрубил ее через некоторые семечки. Кажется, что это не работает внутри backticks. Так почему жеshell: Использование sed в backticks
echo "foo[bar]" | sed 's/\[/\\[/g'
возвращение
foo\[bar]
но
FOO=`echo "foo[bar]" | sed 's/\[/\\[/g'` && echo $FOO
просто возвращает
foo[bar]
?
В отличие от СЭД, тр прекрасно работает внутри обратных кавычек:
FOO=`echo "foo[bar]" | tr '[' '-' ` && echo $FOO
возвращает
foo-bar]
Спасибо всем! – 2009-09-29 14:50:23