#!/bin/bash
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
ONBOOT=yes
DEVICE=
GATEWAY=
NETMASK=
IPADDR=
CENTOS_NET_CONF=/etc/sysconfig/network-scripts
FIND_DEVICE_FILE=cat
if ! test -d $CENTOS_NET_CONF; then
echo "not exist $CENTOS_NET_CONF"
fi
function is_ip() {
str="$@"
ipV4=()
len=0
n=""
for i in `seq ${#str}`
do
v=${str:$i-1:1}
echo $v | [[ `sed -n '/^[0-9][0-9]*$/p'` ]]
if [[ $? == 0 ]]; then
n=$n$v
else
if [[ "$v" == '.' ]]; then
if [[ $n -lt 256 ]]; then
ipV4[$len]=$n
len=$(($len+1))
n=""
else
echo "$n not in [0-255]"
exit
fi
else
echo "$v not num"
exit
fi
fi
done
if [[ $n -lt 256 ]]; then
ipV4[$len]=$n
len=$(($len+1))
n=""
else
echo "$n not in [0-255]"
exit
fi
if [[ $len != 4 ]]; then
echo "$str is not ip format"
exit
fi
# echo "$len -> ${ipV4[@]}"
return $ipV4
}
read -p "Please input Network card name:" DEVICE
read -p "Please input IPADDR:" IPADDR
is_ip $IPADDR
read -p "Please input GATEWAY:" GATEWAY
is_ip $GATEWAY
read -p "Please input NETMASK:" NETMASK
is_ip $NETMASK
OUT_PUT="TYPE:$TYPE\nBOOTPROTO:$BOOTPROTO\nDEFROUTE:$DEFROUTE\nONBOOT:$ONBOOT\nDEVICE:$DEVICE\nIPADDR:$IPADDR\nGATEWAY:$GATEWAY\nNETMASK:$NETMASK\n"
printf $OUT_PUT > "$CENTOS_NET_CONF/ifcfg-$DEVICE"
init_net.sh
最新推荐文章于 2024-07-18 17:51:14 发布