sed不会将变量放入更换行

时间:2015-12-07 03:44:26

标签: sed openstack

我有一个非常简单的sed行来帮助安装Glance for openstack。

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的部分显示在配置文件中,而不是在tty中设置的10.0.0.35的值。

如果我做了回音,你会看到正确的值。

echo $MY_PRIVATE_IP
10.0.0.35

不确定我在sed语句中缺少什么来确保将值插入到配置中。

1 个答案:

答案 0 :(得分: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