#!/bin/bash
ip=""
netmask=""
gateway=""
function getIp()
{
local ip=`echo $1 |awk -F '/' '/([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{2}/ {print $1}'`
echo $ip
}
function getNetmask()
{
netmask=`echo $1 |awk -F '/' '/([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{2}/ {print $2}'`
echo $netmask
}
function parseArguments()
{
for i in $(seq 1 $#)
do
num=$(($i-1))
eval prePar=\$$num
eval curPar=\$$i
#echo $prePar
#echo $curPar
val=`getIp $curPar`
tempNetmask=`getNetmask $curPar`
if [ -z "$val" ];then
continue
fi
if [ ! -z "$tempNetmask" ];then
netmask=$tempNetmask
fi
if [[ $prePar == "netmask" ]];then
netmask=$val
elif [[ $prePar == "gateway" ]];then
gateway=$val
else
ip=$val
fi
done
}
parseArguments $@
echo ip=$ip
echo netmask=$netmask
echo gateway=$gateway
if [[ "$ip" != "192.168.2.2" ]];then
echo "yes"
ifconfig $@
fi
一个解析ifconfig命令行参数的shell
最新推荐文章于 2024-07-11 21:35:14 发布