@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;}

Как это можно исправить?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
@xibir
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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы