在sed替换中使用$ HOSTNAME

时间:2014-06-11 16:36:50

标签: linux bash unix sed hostname

我想在sed的调用中使用我的Centos VM的$ HOSTNAME,如下所示:

sed -i 's/Apache 2 Test Page/$HOSTNAME Test Page/g' /var/www/error/noindex.html

但这只是用Apache 2 Test Page替换$HOSTNAME Test Page ...我知道我可以手动完成,但我有充分的理由希望这样做。


FWIW,我实际上在一个bash脚本中执行此操作,该脚本从Vagrantfile调用,而Vagrant文​​件又提供多个VM(每个都安装了Apache2),以便我可以测试 - 了解HAProxy的负载均衡功能。所以我只是想要一种简单的方法来区分我的3个Web服务器,而且我认为修改默认的Apache页面是最简单的方法。

1 个答案:

答案 0 :(得分:6)

使用双引号括起sed的{​​{1}},而不是单引号用于变量扩展。

s///

示例:

sed -i "s/Apache 2 Test Page/$HOSTNAME Test Page/g" /var/www/error/noindex.html