имеет файл config.php
, который содержит что-то вроде этого.
<?php
$main="dev.digin.io";
Что мне нужно сделать, это, независимо от значения строки, которые содержат после $main=
нужно заменить с содержанием в переменной оболочки, как $MainDomain
.
Окончательный config.php должен быть таким. (Рассмотреть Баш переменной оболочки состоят некоторые это как $ MainDomain = prod.mail.com)
<?php
$main="prod.mail.com";
Я устал 'sed -i 's/^ (\\\ $ mainDomain = \") [^ \ "] + (\";) $/\ 1 $ MainDomain \ 2/"/ var/www/html/include/config.php' он печатает ниже в командной строке. Любая идея? ** sed: -e выражение # 1, char 49: неверная ссылка \ 2 на 's 'команда RHS ** – Daz
Вы' не используйте переключатель '-E', что означает, что группы захвата должны быть экранированы. Добавьте переключатель' -E'. Кроме того, вы действительно должны использовать суффикс резервного копирования с '-i', особенно при тестировании. –
Затем он будет печатать правильный вывод из консоли, но не изменять файл. Любая идея? – Daz