使用sed在hosts文件的行尾添加地址

时间:2014-02-19 15:26:44

标签: bash shell unix sed

我在hosts文件中有一个特定的行,用于本地Wordpress Multisite安装,如下所示:

127.0.0.1       localhost domain.dev site1.domain.dev site2.domain.dev

我正在编写一个Shell脚本,我可以在终端上直接在我的Multisite安装上创建一个新的个人站点。每当我运行此命令时,我需要能够在/ etc / hosts文件中添加新记录。在Shell文件中,我使用$site_addr作为站点名称的变量。然后,您需要在此结尾添加.domain.dev。我使用sed做的一个例子(没有用)

sed -i'.bak' '7i7 $site_addr.domain.dev' /etc/hosts

我需要编辑的主机文件(上面)中的第7行是第7行,因此是sed命令中的7i7。我想在行尾添加新记录。我还想创建一个备份主机文件,以防出现任何问题。

感谢任何帮助,希望我已经解释得很好了:)

1 个答案:

答案 0 :(得分:3)

如果这是第7行

sed -i '.bak' "7 s/$/ ${site_addr}.domain.dev/" /etc/hosts

但您可以使用模式匹配(更安全一点)和

sed -i '.bak' "/127\.0\.0\.1/ s/$/ ${site_addr}.domain.dev/" /etc/hosts

我建议首先检查域名是否已经在