1. #!/bin/sh  
  2. # BY kerry (聆听未来)  
  3. # BLOG:http://kerry.blog.51cto.com  
  4.  
  5. # set variable  
  6. ip_mod=$1  
  7. mask_mod=$2  
  8. gw_mod=$3  
  9. dns_mod=$4  
  10. hostname_mod=$5  
  11.  
  12. hosts=/etc/hosts  
  13. ifcfg=/etc/sysconfig/network-scripts/ifcfg-eth0  
  14. network=/etc/sysconfig/network  
  15. resolv=/etc/resolv.conf  
  16. hwaddr=`grep -i HWADDR $ifcfg|awk -F "=" '{print $2}'`  
  17.  
  18. # mod ip、mask、gw、dns、hostname  
  19. if [ $# != 5 ];then  
  20. cat << EOF 
  21. +-----------------------------------------------------------------------------------+  
  22. ++++++                                              +++++  
  23. | ====   这是一个自动修改网络ip、掩码、网关、DNS、主机名的脚本                  ====|  
  24. | ====   使用方法:ip_mod ip mask gw dns hostname                    ====|  
  25. | ====   例:ip_mod 10.10.10.5 255.255.255.0 10.10.10.1 8.8.8.8 kerry           ====|  
  26. ++++++                                              +++++  
  27. +-----------------------------------------------------------------------------------+  
  28. EOF  
  29. fi  
  30.  
  31. if [ $# == 5 ];then  
  32. /bin/hostname $hostname_modf  
  33. cp -r $hosts ${hosts}.bak  
  34. echo -e "$ip_mod $hostname_mod" > $hosts  
  35.  
  36. cp -r $ifcfg ${ifcfg}.bak  
  37. echo -ne "DEVICE=eth0 
  38. BOOTPROTO=static 
  39. HWADDR=$hwaddr  
  40. IPADDR=$ip_mod  
  41. NETMASK=$mask_mod  
  42. ONBOOT=yes 
  43. > $ifcfg  
  44.  
  45. cp -r $network ${network}.bak  
  46. echo -ne "NETWORKING=yes 
  47. HOSTNAME=$hostname_mod  
  48. GATEWAY=$gw_mod  
  49. > $network  
  50.  
  51. cp -r $resolv ${resolv}.bak  
  52. echo -e "nameserver $dns_mod" > $resolv  
  53.  
  54. # restart network  
  55. service network restart  
  56.  
  57. echo "ip、mask、gw、dns、hostname set OK .................!!!!!!!"  
  58. fi  

 

本文出自 “聆听未来” 博客,请务必保留此出处http://kerry.blog.51cto.com/172631/517921