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