shell 脚本 更新或者添加host ,并且增加hostname映射到hosts (修改)
2013-05-29 22:18
519 查看
有些服务需要在hosts中映射hostname 和 127.0.0.1 ,例如sudo ,新增方法updateHostName
脚本可以根据传入的参数进行对 /etc/hosts 更改或者添加host
例如执行 sudo ./changeHost.sh blog.duplicatedcode.com 192.168.1.222
域名是固定的,外网ip不断变化
# !/bin/sh
in_ip=${1}
in_url=${2}
local_ip="127.0.0.1"
#更改host
updateHost()
{
# read
inner_host=`cat /etc/hosts | grep ${in_url} | awk '{print $1}'`
if [ ${inner_host} = ${in_ip} ];then
echo "${inner_host} ${in_url} ok"
else
if [ ${inner_host} != "" ];then
echo " change is ok "
else
inner_ip_map="${in_ip} ${in_url}"
echo ${inner_ip_map} >> /etc/hosts
if [ $? = 0 ]; then
echo "${inner_ip_map} to hosts success host is `cat /etc/hosts`"
fi
echo "shuld appand "
fi
fi
}
# hostName
updateHostName()
{
inner_hostName=`hostname`
inner_local_ip=${local_ip}
inner_host_count=`cat /etc/hosts | grep ${inner_hostName} | awk '{print $1}' |grep -c ${local_ip}`
inner_host=`cat /etc/hosts | grep ${inner_hostName} | awk '{print $1}'`
if [ ${inner_host_count} != 0 ]; then
return
fi
if [ ${inner_host} = ${inner_local_ip} ];then
echo "127.0.0.1 ${inner_hostName} already add "
else
if [ ${inner_host}="" ]; then
inner_ip_map="${inner_local_ip} ${inner_hostName}"
echo ${inner_ip_map} >> /etc/hosts
if [ $?=0 ];then
echo " ${inner_ip_map} to add hosts success `cat /etc/hosts`"
fi
fi
fi
}
main()
{
updateHost
updateHostName
}
main
脚本可以根据传入的参数进行对 /etc/hosts 更改或者添加host
例如执行 sudo ./changeHost.sh blog.duplicatedcode.com 192.168.1.222
域名是固定的,外网ip不断变化
# !/bin/sh
in_ip=${1}
in_url=${2}
local_ip="127.0.0.1"
#更改host
updateHost()
{
# read
inner_host=`cat /etc/hosts | grep ${in_url} | awk '{print $1}'`
if [ ${inner_host} = ${in_ip} ];then
echo "${inner_host} ${in_url} ok"
else
if [ ${inner_host} != "" ];then
echo " change is ok "
else
inner_ip_map="${in_ip} ${in_url}"
echo ${inner_ip_map} >> /etc/hosts
if [ $? = 0 ]; then
echo "${inner_ip_map} to hosts success host is `cat /etc/hosts`"
fi
echo "shuld appand "
fi
fi
}
# hostName
updateHostName()
{
inner_hostName=`hostname`
inner_local_ip=${local_ip}
inner_host_count=`cat /etc/hosts | grep ${inner_hostName} | awk '{print $1}' |grep -c ${local_ip}`
inner_host=`cat /etc/hosts | grep ${inner_hostName} | awk '{print $1}'`
if [ ${inner_host_count} != 0 ]; then
return
fi
if [ ${inner_host} = ${inner_local_ip} ];then
echo "127.0.0.1 ${inner_hostName} already add "
else
if [ ${inner_host}="" ]; then
inner_ip_map="${inner_local_ip} ${inner_hostName}"
echo ${inner_ip_map} >> /etc/hosts
if [ $?=0 ];then
echo " ${inner_ip_map} to add hosts success `cat /etc/hosts`"
fi
fi
fi
}
main()
{
updateHost
updateHostName
}
main
相关文章推荐
- shell 脚本 更新或者添加host ,并且增加hostname映射到hosts (修改)
- shell 脚本 更新或者添加host
- 修改/etc/hosts 文件,增加ip和hostname的映射关系
- Python脚本,自动更新host,添加or更新本机hosts
- 基于node-http-proxy的脚本:功能更新,现在支持把GFW屏蔽的URL作快速404失败返回处理;支持把墙外的CDN url映射为本地host
- 批量修改文件名称或者文件内容的shell脚本
- CentOS6修改主机名(hostname)及 修改/etc/hosts 文件,增加ip和hostname的映射关系(转)
- 脚本添加证书文件到本地与修改HOST文件
- ubuntu下使用Shell脚本和Scrapy进行hosts自动更新
- 判断IP是否规范并添加或修改IP地址的shell脚本
- OS X下修改系统Hosts文件以及苹果手机如何host映射
- Shell脚本自动更新hosts实现免翻墙访问google
- 利用vbs脚本快速修改hosts记录,提供Google Picasa相册无法显示图片问题的傻瓜级方案(2009.11.11更新) 推荐
- shell小脚本--laod博客更新hosts文件[脚本]
- shell脚本增加回车符
- 使用for、if语句添加用户的一个shell脚本
- 向shell或者sql脚本传参或接收参数的方法
- Linux修改本机/etc/hosts的hostName后经常不生效