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



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

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

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

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

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

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

如果这是第 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

我建议还先检查域是否尚未在

相关内容

  • 没有找到相关文章

最新更新