由于要修改多台主机的主机名和静态IP地址,利用脚本来批量修改相对方便,但仍然需要输入新的主机名和更改的IP地址。

 但是只能适用于当前主机已经通过DHCP获取了IP地址的情况,对于还没有启用网卡的主机不适用。

 
  
  1. #!/bin/bash 
  2. #hostname_ip.sh 
  3. #Modify hostname and IP address 
  4. #2013-3-5 
  5.  
  6. HOST_NAME="centos-test01" 
  7. INTERFACE="ifcfg-$(ifconfig |cut -d ' ' -f 1|sed -n '1p')" 
  8. IP_ADDR="192.168.1.100" 
  9. HW_ADDR=`ifconfig | sed -n '1p'| awk '{print $5}'
  10. SUB_MASK="255.255.255.0" 
  11. DNS_SERV="192.168.1.2" 
  12. DNS_SERV2="192.168.1.3" 
  13. GATEWAY="192.168.1.5" 
  14.  
  15.  
  16. cd /etc/sysconfig 
  17. sed -i.bak 's/HOSTNAME=.*/HOSTNAME='$HOST_NAME'/' network 
  18.  
  19. cd /etc/sysconfig/network-scripts 
  20. cp -a $INTERFACE /root/ 
  21.  
  22. echo "DEVICE="`ifconfig |cut -d ' ' -f 1|sed -n '1p'`" 
  23. BOOTPROTO="static" 
  24. HWADDR="$HW_ADDR" 
  25. IPADDR="$IP_ADDR" 
  26. NETMASK="$SUB_MASK" 
  27. DNS1="$DNS_SERV" 
  28. DNS2="$DNS_SERV2" 
  29. GATEWAY="$GATEWAY" 
  30. NM_CONTROLLED="yes" 
  31. ONBOOT="yes" 
  32. TYPE="Ethernet" 
  33. " > $INTERFACE