Shell script update or host addition, and add hostname ing to hosts some services need to map hostname and 127.0.0.1 in hosts, such as sudo, the updateHostName script can be used to change/etc/hosts or Add hosts based on input parameters, such as executing sudo. /changeHost. sh blog.duplicatedcode.com 192.168.1.222 domain name is fixed, and the Internet ip address is constantly changing #! /Bin/sh in_ip =$ {1} in_url =$ {2} local_ip = "127.0.0.1" # change 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 "shcould appand" 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} main () {updateHost updateHostName} main