需求
- 由于我需要将一个域名(a.b.c)绑定到本机ip,而本机ip经常会变动
- 导致域名出问题,因此我需要一个脚本更新host
- 最好可以定时去更新
脚本设计
- 查询本机ip
- 对比host中的配置是否一致
- 更新host配置
shell脚本代码
echo "查询本机ip"
ip=$(ifconfig en0 | grep "inet " | sed 's/^.*inet //g' | sed 's/ netmask.*//g')
echo "最新ip是:""${ip}"localip=$(cat /etc/hosts | grep "a.b.c" | sed 's/ a.b.c//g')
echo "以前ip是:""${localip}"if [ "${ip}" == "${localip}" ]; thenecho "不需要修改host"exit 0
elseecho "需要修改host"old=$(cat /etc/hosts | grep "a.b.c")new=${ip}" a.b.c"echo "${old}"echo "${new}"sudo sed -i "s/${old}/${new}/g" /etc/hostsecho "修改host完成"check=$(cat /etc/hosts | grep "a.b.c")echo "${check}"exit 0
fi