Bash 向/etc/hosts文件添加行

Bash 向/etc/hosts文件添加行,bash,sed,hosts,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,字符3:未知命令:` 你知道怎么解决这个问题吗? 或者运行sh文件的另一种方法,它会将主机添加到主机文件中? 谢谢,您阅读了sed的手册页了吗?您没有正确使用-i参数 相反,为什

我有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,字符3:未知命令:`

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

您阅读了sed的手册页了吗?您没有正确使用-i参数

相反,为什么不直接使用:

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

你看过sed的手册页了吗?您没有正确使用-i参数

相反,为什么不直接使用:

echo "10.161.61.111 acr111" >> /etc/hosts
echo "10.161.61.110 acr110" >> /etc/hosts
尝试向
/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
cat>/etc/fstab
10.161.61.111 acr111
10.161.61.110 acr110
10.161.61.109 acr109
10.161.61.108 acr108
EOF
尝试在
/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
cat>/etc/fstab
10.161.61.111 acr111
10.161.61.110 acr110
10.161.61.109 acr109
10.161.61.108 acr108
EOF

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

cat newdata >> /etc/hosts
如果数据来自变量:

echo "$newdata" >> /etc/host

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

cat newdata >> /etc/hosts
如果数据来自变量:

echo "$newdata" >> /etc/host

您最多包括-i[后缀],--in-place[=后缀],如下所示

sed-i“3i10.161.61.111 acr111”/etc/hosts


ni是文本出现的行号

您最多包括-i[后缀],--in-place[=后缀],如下所示

sed-i“3i10.161.61.111 acr111”/etc/hosts


ni是文本显示的行号

额外数据来自何处?文件变量脚本中的数据?@Maya,您可以使用
sed-i
$a
选项向/etc/hosts添加新条目,查看额外数据来自何处?文件变量脚本中的数据?@Maya,您可以使用
sed-i
$a
选项向/etc/hosts添加新条目,请参见