当前位置: > shell编程 >

设置ip信息的shell脚本

时间:2014-09-10 18:36来源:linux.it.net.cn 作者:it

设置ip信息的shell脚本
 

复制代码代码如下:

#!/bin/bash
#
TMPFILE=`mktemp /tmp/eth.XXXXXXXX`

read -p "Interface: " ETHCARD

ALLECARD=`ifconfig -a | awk '/^[^[:space:]l]/{print $1}'`

until echo $ALLECARD | grep "$ETHCARD" &> /dev/null; do
  echo -e "\033[31mWrong Card name.\033[0m"
  read -p "Interface: " ETHCARD
done
 
ETHFILE=/etc/sysconfig/network-scripts/ifcfg-$ETHCARD

read -p "Boot Protocol: " MYBOOTPROTO
until echo $MYBOOTPROTO | grep -E "dhcp|bootp|static|none"; do
  echo -e "\033[31mWrong BOOTPROTO.\033[0m"
  read -p "Boot Protocol: " MYBOOTPROTO
done

if [ "$MYBOOTPROTO" == "dhcp" ]; then
  sed -i "s/^BOOTPROTO=.*/BOOTPROTO=dhcp/g" $ETHFILE
  if [ $? -eq 0 ]; then
    ifdown $ETHCARD && ifup $ETHCARD
    [ $? -eq 0 ] && echo "Set $ETHCARD done."
  fi
elif [ "$MYBOOTPROTO" == "static" ]; then
  cat $ETHFILE > $TMPFILE
  read -p "Ip Address: " MYIP
  read -p "Netmask: " MYNM
  read -p "Gateway: " MYGW

  sed -i "s/^BOOTPROTO=.*/BOOTPROTO=static/g" $TMPFILE
  grep "^IPADDR=" $TMPFILE &> /dev/null  && sed -i "s/IPADDR=.*/IPADDR=$MYIP/" $TMPFILE || echo "IPADDR=$MYIP" >> $TMPFILE
  grep "^NETMASK=" $TMPFILE &> /dev/null && sed -i "s/NETMASK=.*/NETMASK=$MYNM/" $TMPFILE || echo "NETMASK=$MYNM" >> $TMPFILE

  if [ -z $MYGW ]; then
     sed -i '/^GATEWAY=.*/d' $TMPFILE
  else
     grep "^GATEWAY=" $TMPFILE &> /dev/null && sed -i "s/GATEWAY=.*/GATEWAY=$MYGW/" $TMPFILE || echo "GATEWAY=$MYGW" >> $TMPFILE
  fi
  cp -f $TMPFILE $ETHFILE
  ifdown $ETHCARD && ifup $ETHCARD
  [ $? -eq 0 ] && echo "Set $ETHCARD done."
else 
  echo "No such options."
  exit 1
fi
   
rm -f $TMPFILE

 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容