在/ etc / hosts文件中添加行

时间:2015-03-12 05:17:39

标签: bash sed hosts

我有RHEL,我希望运行一个shell脚本,它会在/ etc / hosts文件中添加几行(超过10行)。 我试着用

sed -i "10.161.61.111 acr111" /etc/hosts 
sed -i "10.161.61.110 acr110" /etc/hosts

依此类推,但我得到了

  

sed:-e表达式#1,char 3:未知命令:`。'

知道怎么解决这个问题吗? 或者也许是另一种运行sh文件的方法,它会将主机添加到hosts文件中? 谢谢,

4 个答案:

答案 0 :(得分:3)

您是否阅读过sed的手册页?您未正确使用-i参数。

相反,为什么不使用:

echo "10.161.61.111 acr111" >> /etc/hosts
echo "10.161.61.110 acr110" >> /etc/hosts

答案 1 :(得分:2)

尝试this>>追加(/etc/fstab)多行:

cat << EOF >> /etc/fstab
10.161.61.111 acr111
10.161.61.110 acr110
10.161.61.109 acr109
10.161.61.108 acr108
EOF

答案 2 :(得分:2)

你最多包括-i [SUFFIX], - in-place [= SUFFIX]如下

sed -i“ 3i 10.161.61.111 acr111”/ etc / hosts

ni 是文本将成为appen的行号

答案 3 :(得分:1)

如果数据来自文件,请执行以下操作:

cat newdata >> /etc/hosts

如果数据来自变量:

echo "$newdata" >> /etc/host