- #!/bin/sh
- read -p "請輸入網卡設備名查看目前網卡配置,例如eth0 " eth
- if [ -z "${eth}" ]
- then
- echo -e "\e[1;32m必須輸入網卡名稱\e[0m"
- exit
- else
- ifconfig $eth |sed -ne 's/^.* inet addr:\([^ ]*\).* Bcast:\([^ ]*\).* Mask:\(.*$\)/IP:\1\nBcast:\2\nMASK:\3/gp'
- read -p "是否替換?yes/no? " select
- if [ ${select} = 'yes' ]
- then
- read -p "請輸入新的ip 不填寫則爲空地址 " ip
- read -p "請輸入新的網絡掩碼 不填寫則爲空地址 " mask
- read -p "請輸入新的網關 不填寫則爲空地址 " gw
- ifcfg=/etc/sysconfig/network-scripts/ifcfg-${eth}
- cp ${ifcfg} ${ifcfg}.bak
- gwadd=`grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-${eth}`
- ifdown ${eth}
- if [ $? -eq 0 ]
- then
- sed -i "s/^IPADDR=.*/IPADDR=${ip}/g" $ifcfg
- sed -i "s/^NETMASK=.*/NETMASK=${mask}/g" $ifcfg
- sed -i "s/ONBOOT=no/ONBOOT=yes/g" $ifcfg
- if [ -n "${gw}" ]
- then
- ${gwadd}
- if [ $? -eq 0 ]
- then
- sed -i "s/^GATEWAY.*/GATEWAY=${gw}/g" $ifcfg
- else
- echo -e "\e[1;32mGATEWAY=${gw}\e[0m" >> $ifcfg
- fi
- route add default gw ${gw}
- else
- echo -e "\e[1;32m你沒有輸入網關,網關將設置爲空\e[0m"
- fi
- else
- echo -e "\e[1;32m對不起, ${eth} 關閉失敗\e[0m"
- exit 1
- fi
- ifup ${eth}
- ping -c 4 "${gw}" &
- if [ $? -eq 0 ]
- then
- echo -e "\e[1;32mIP修改成功!\e[0m"
- else
- echo -e "\e[1;32mIP修改失敗!\e[0m"
- fi
- else
- echo -e "\e[1;32m你沒有選擇替換!拜拜!\e[0m"
- fi
- fi