判斷輸入的IP是否正確

編寫shell腳本,判斷輸入的IP是否正確(IP的規則是,n1.n2.n3.n4,其中1<n1<255, 0<n2<255, 0<n3<255, 0<n4<255)。

#!/bin/bash

check_ip(){

if echo $1 | egrep -q "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$";then

   a=`echo $1|awk -F. '{print $1}'`

   b=`echo $1|awk -F. '{print $2}'`

   c=`echo $1|awk -F. '{print $3}'`

   d=`echo $1|awk -F. '{print $4}'`

   if [ $a -le 1 -o $a -ge 255 ] || [ $b -le 0 -o $b -ge 255 ] || [ $c -le 0 -o $c -ge 255 ] || [ $d -le 0 -o $d -ge 255 ] ;then

      echo "IP的規則是,n1.n2.n3.n4,其中1<n1<255, 0<n2<255, 0<n3<255, 0<n4<255 "  

      return 1

   fi

else

    echo "please enter an IP like "192.168.16.1""

    return 2

fi

}


stat=1

while [ $stat -ne 0 ];do

   read -p "please enter an IP:" ip

   check_ip $ip

   stat=`echo $?`

done

   echo "The ip $ip is right!"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章