Кавычки, ну кавычки поменяйте же. Никаких `echo`.
И если у вас GNU sed, то у него есть опция -i. Тогда команда будет выглядеть так: sed -i "s/^IP.*/IPADDRESS=$ip/g" /etc/file.conf
Ещё так можно: sed -i 's/^IP.*/IPADDRESS='$ip'/g' /etc/file.conf
Если же sed не GNU, то: sed "s/^IP.*/IPADDRESS=$ip/g" /etc/file.conf > /etc/file.conf2 && mv /etc/file.conf2 /etc/file.conf
Сам мучился с использованием переменных в скрипте. Решение вот такое:
1) кавычки не одинарные, а двойные.
2) имя переменной заключается в фигурные скобки
S1=bla_bla
S2=zlo_zlo
sed -i "s/${S1}/${S2}/g" path_to_my_file
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.