2015-12-07 2 views
-1

У меня есть очень простая линия sed, которая поможет сделать инсталляцию Glance для openstack.sed не помещает переменную в строку замены

sudo sed -i \ 
's|identity_uri = http://127.0.0.1:35357|identity_uri = http://$MY_PRIVATE_IP:35357|g' \ 
/etc/glance/glance-api.conf 

Часть с $ MY_PRIVATE_IP отображается в конфигурационном файле так же, как этого не значение 10.0.0.35, который устанавливается в TTY.

Если я делаю эхо, вы видите правильное значение.

echo $MY_PRIVATE_IP 
10.0.0.35 

Не уверен, что мне не хватает в инструкции sed, чтобы убедиться, что значение вставляется в конфигурацию.

+1

Помогает ли мой ответ? Если да, не могли бы вы закрыть вопрос на свой вопрос, приняв его? Спасибо. – zedfoxus

ответ

2

Используйте двойные кавычки в своем sed.

sudo sed -i \ 
"s|identity_uri = http://127.0.0.1:35357|identity_uri = http://$MY_PRIVATE_IP:35357|g" \ 
/etc/glance/glance-api.conf 

Я также заметил другой способ, которым вы могли бы заставить свою переменную работать. См. Этот вопрос: How to use a bash script variable with sed

Смежные вопросы