Задать вопрос
@VEadm

Как задать переменую в sed, в добавляемой строке?

Вот такой вариант не работает:
sed '3a\ if ($host = www.${1}) {return 301 https://${1}$request_uri;}' /etc/nginx/vhosts/user_ru/$1.conf > /etc/nginx/vhosts/user_ru/$1.conf.tmp


Получается, что sed не подставляет в переменную ${1} и добавляет строку как есть:
if ($host = www.${1}) {return 301 https://${1}$request_uri;}

Как это можно исправить?
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
sed '3a\ if ($host = www.'$1') {return 301 https://'$1'$request_uri;}' /etc/nginx/vhosts/vach

или так
sed "3a\ if (\$host = www.$1) {return 301 https://$1\$request_uri;}" /etc/nginx/vhosts/vach
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы