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