Je veux échapper certains caractères spéciaux à l'intérieur d'une chaîne automatiquement. J'ai pensé faire écho à cette ficelle et l'enfiler à travers quelques seds. Cela ne semble pas fonctionner à l'intérieur des backticks. Alors, pourquoishell: Utiliser sed dans les guillemets
echo "foo[bar]" | sed 's/\[/\\[/g'
retour
foo\[bar]
mais
FOO=`echo "foo[bar]" | sed 's/\[/\\[/g'` && echo $FOO
retourne juste
foo[bar]
?
Contrairement à sed, tr fonctionne parfaitement à l'intérieur du contre-apostrophes:
FOO=`echo "foo[bar]" | tr '[' '-' ` && echo $FOO
retours
foo-bar]
Merci à tous! –