LINUX.ORG.RU
ФорумAdmin

sed и спец.символ '&'

 ,


0

1

Доброго времени!

Есть скрипт на баше, который забирает значения определенных переменных окружения, которые передаются при старте контейнера докера через -e. В том числе и пароль к смтп-серверу в явном виде это все запихивается в конфиг и стартуется сервис. Скрипт бежит по конфигу и параметры огороженные {{переменная}} заменяет значениями. Все это делается sed'ом примерно так:

sed «s/{{$var1}}/$var2/g»

Все это нормально работало до момента появления пароля с символом '&' внутрях (типа Dwg$gys6). Если sed в замене видит символ '&', то действует как ему и положено, но не так как надо мне. Попытки огородить в sed'е значение переменной конструкцией вида:

sed 's/'«{{$var1}}»'/'«$var2»'/g'

успеха не принесли. Как мне заставить сед не обращать внимание на '&' да и на другие спецсимволы тоже?

Заранее благодарю

Есть же похожий тред (моё решение)

Вы же спрашивате о '&', а пример приводите со спец символом '$': "(типа Dwg$gys6)", то есть на самом деле для sed-а вам надо экранировать все спец символы, в том числе и выбранный для разделителя '/'.

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.