shell-自动更改LINUX服务器IP

#!/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

你可能感兴趣的:(linux)