gpt4 book ai didi

linux - 使用 shell 脚本将行附加到/etc/hosts 文件

转载 作者:IT老高 更新时间:2023-10-28 12:38:35 28 4
gpt4 key购买 nike

我有一个新的 Ubuntu 12.04 VPS。我正在尝试编写一个安装脚本来完成整个 LAMP 安装。我遇到问题的地方是在 /etc/hosts 文件中添加一行。我当前的主机文件如下所示:

127.0.0.1       localhost Venus

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我希望它看起来像这样:

127.0.0.1       localhost Venus
192.241.xx.xx venus.example.com venus

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我已经使用 append (\a) 命令尝试了各种 sed 命令。出于某种原因,Ubuntu 要么只是在终端中回显 hosts 文件的内容,要么什么都不做。如何使用 bash 脚本将第二行正确地注入(inject)文件中?

最佳答案

确保使用 sed-i 选项。

-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)

sed -i "2i192.241.xx.xx venus.example.com venus" /etc/hosts

否则,

echo "192.241.xx.xx  venus.example.com venus" >> /etc/hosts

将在文件末尾追加该行,这可以按您的预期工作。

关于linux - 使用 shell 脚本将行附加到/etc/hosts 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339248/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com