我有一个新的 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
将在文件末尾追加该行,这可以按您的预期工作。
https://stackoverflow.com/questions/19339248/