修改IP腳本

 

  1. #!/bin/sh  
  2. read -p "請輸入網卡設備名查看目前網卡配置,例如eth0 " eth  
  3. if [ -z  "${eth}" ]  
  4.    then   
  5.      echo -e "\e[1;32m必須輸入網卡名稱\e[0m" 
  6.      exit  
  7. else 
  8. ifconfig $eth |sed -ne 's/^.* inet addr:\([^ ]*\).* Bcast:\([^ ]*\).* Mask:\(.*$\)/IP:\1\nBcast:\2\nMASK:\3/gp'   
  9. read -p "是否替換?yes/no? " select  
  10. if [ ${select} = 'yes' ]  
  11.   then   
  12.     read -p "請輸入新的ip 不填寫則爲空地址 " ip  
  13.     read -p "請輸入新的網絡掩碼 不填寫則爲空地址 " mask  
  14.     read -p "請輸入新的網關 不填寫則爲空地址 " gw  
  15.     ifcfg=/etc/sysconfig/network-scripts/ifcfg-${eth}  
  16.     cp ${ifcfg} ${ifcfg}.bak  
  17.     gwadd=`grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-${eth}`  
  18.     ifdown ${eth}  
  19.       if [ $? -eq 0 ]  
  20.          then  
  21.              sed -i "s/^IPADDR=.*/IPADDR=${ip}/g" $ifcfg  
  22.              sed -i "s/^NETMASK=.*/NETMASK=${mask}/g" $ifcfg  
  23.              sed -i "s/ONBOOT=no/ONBOOT=yes/g" $ifcfg  
  24.         if [ -n "${gw}" ]        
  25.            then         
  26.             ${gwadd}    
  27.                if [ $? -eq 0 ]  
  28.                   then  
  29.                      sed -i "s/^GATEWAY.*/GATEWAY=${gw}/g" $ifcfg  
  30.                   else 
  31.                      echo -e "\e[1;32mGATEWAY=${gw}\e[0m" >> $ifcfg  
  32.                fi  
  33.               route add default gw ${gw}  
  34.              else   
  35.                echo -e "\e[1;32m你沒有輸入網關,網關將設置爲空\e[0m" 
  36.          fi  
  37.         else 
  38.             echo -e "\e[1;32m對不起, ${eth} 關閉失敗\e[0m" 
  39.         exit 1   
  40.       fi  
  41.         ifup ${eth}  
  42.         ping -c 4 "${gw}" &  
  43.    if [ $? -eq 0 ]  
  44.       then   
  45.         echo -e "\e[1;32mIP修改成功!\e[0m" 
  46.    else 
  47.         echo -e "\e[1;32mIP修改失敗!\e[0m" 
  48.      fi  
  49. else 
  50.    echo -e "\e[1;32m你沒有選擇替換!拜拜!\e[0m" 
  51. fi  
  52. fi 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章