脚步--设置ip信息

  
  
  
  
  1. #!/bin/bash  
  2. #  
  3. TMPFILE=`mktemp /tmp/eth.XXXXXXXX`  
  4.    
  5. read -p "Interface: " ETHCARD  
  6.    
  7. ALLECARD=`ifconfig -a | awk '/^[^[:space:]l]/{print $1}'`  
  8.    
  9. until echo $ALLECARD | grep "$ETHCARD" &> /dev/null; do  
  10.   echo -e "\033[31mWrong Card name.\033[0m"  
  11.   read -p "Interface: " ETHCARD  
  12. done  
  13.    
  14. ETHFILE=/etc/sysconfig/network-scripts/ifcfg-$ETHCARD  
  15.    
  16. read -p "Boot Protocol: " MYBOOTPROTO  
  17. until echo $MYBOOTPROTO | grep -E "dhcp|bootp|static|none"; do  
  18.   echo -e "\033[31mWrong BOOTPROTO.\033[0m"  
  19.   read -p "Boot Protocol: " MYBOOTPROTO  
  20. done  
  21.    
  22. if [ "$MYBOOTPROTO" == "dhcp" ]; then  
  23.   sed -i "s/^BOOTPROTO=.*/BOOTPROTO=dhcp/g" $ETHFILE  
  24.   if [ $? -eq 0 ]; then  
  25.     ifdown $ETHCARD && ifup $ETHCARD  
  26.     [ $? -eq 0 ] && echo "Set $ETHCARD done."  
  27.   fi  
  28. elif [ "$MYBOOTPROTO" == "static" ]; then  
  29.   cat $ETHFILE > $TMPFILE  
  30.   read -p "Ip Address: " MYIP  
  31.   read -p "Netmask: " MYNM  
  32.   read -p "Gateway: " MYGW  
  33.  
  34.   sed -i "s/^BOOTPROTO=.*/BOOTPROTO=static/g" $TMPFILE  
  35.   grep "^IPADDR=" $TMPFILE &> /dev/null  && sed -i "s/IPADDR=.*/IPADDR=$MYIP/" $TMPFILE || echo "IPADDR=$MYIP" >> $TMPFILE  
  36.   grep "^NETMASK=" $TMPFILE &> /dev/null && sed -i "s/NETMASK=.*/NETMASK=$MYNM/" $TMPFILE || echo "NETMASK=$MYNM" >> $TMPFILE  
  37.    
  38.   if [ -z $MYGW ]; then  
  39.      sed -i '/^GATEWAY=.*/d' $TMPFILE  
  40.   else  
  41.      grep "^GATEWAY=" $TMPFILE &> /dev/null && sed -i "s/GATEWAY=.*/GATEWAY=$MYGW/" $TMPFILE || echo "GATEWAY=$MYGW" >> $TMPFILE  
  42.   fi  
  43.   cp -f $TMPFILE $ETHFILE  
  44.   ifdown $ETHCARD && ifup $ETHCARD  
  45.   [ $? -eq 0 ] && echo "Set $ETHCARD done."  
  46. else   
  47.   echo "No such options."  
  48.   exit 1  
  49. fi  
  50.      
  51. rm -f $TMPFILE 

 

你可能感兴趣的:(shell,IP地址,信息)