Your issue lies in the line: sed -e "s/$REGISTERED_IP/$CURRENT_IP/g" /etc/hosts > /etc/hosts.new Take a look at the modification I made below, it should help.
if [ $CURRENT_IP != $REGISTERED_IP ] ; then echo -n "IP address has changed: creating a new /etc/hosts file" sed -i.old "s/$REGISTERED_IP/$CURRENT_IP/g" /etc/hosts echo "." else echo "IP address hasn't changed: no update needed." fi Hope this helps. ~Tad