#!/bin/bash
echo "Enter the old ip:"$1
echo "Enter the new ip:"$2
if [[ $1 == "" ]];then
echo "Usage: $0 Enter the new ip:$1"
echo "Usage: $0 Enter the old ip:$2"
exit 0
fi
i=0
for line in `ls /etc/sysconfig/network-scripts | grep -E "ifcfg-em|ifcfg-eth"`
do
strip=`cat /etc/sysconfig/network-scripts/$line | grep -i "$1"`
strboot=`cat /etc/sysconfig/network-scripts/$line | grep -i "^onboot" | awk -F ‘=‘ ‘{print $2}‘ | grep -i "yes"`
if [ -n "$strip" -a -n "$strboot" ];then
echo $line
file=$line
echo $strip
echo $strboot
ipfile="/etc/sysconfig/network-scripts/$file"
hostnamefile="/etc/sysconfig/network"
sed -i ‘s/^IPADDR/#IPADDR/g‘ $ipfile
#sed -i ‘s/^NETMASK/#NETMASK/g‘ $ipfile
sed -i ‘s/^GATEWAY/#GATEWAY/g‘ $ipfile
sed -i ‘s/^HOSTNAME/#HOSTNAME/g‘ $ipfile
sed -i ‘s/^HOSTNAME/#HOSTNAME/g‘ $hostnamefile
newip=$2
newgateway=
newhostname=
cat >>$ipfile<<EOF
IPADDR="$newip"
GATEWAY="$newgateway"
EOF
echo "HOSTNAME=\"$newhostname\"" >>$hostnamefile
hostname "$newhostname"
echo "OK"
else
echo $line
echo $strip
echo $strboot
echo "error"
fi
done
shell-自动更改LINUX服务器IP