jonvi 发表于 2018-8-28 09:38:14

shell脚本--判断输入的ip是否正确

  #!/bin/bash
  #It's written by caibingsen
  #!/bin/bash
  #It's written by caibingsen
  #date:2016-03-15
  #while设置成死循环,在输入的ip不符合条件时,重新输入
  while :
  do
  read -p "请输入要判断的ip地址:" ip
  #判断输入的ip地址是否仅由数字和点组成,并将值赋给m。
  #判断输入的ip地址的小数点的个数,复制给n
  m=`echo $ip |sed 's///g'`
  n=`echo $ip |sed 's///g'|wc -c`
  #截取ip地址的四个数字的部分,并分别复制。
  n1=`echo $ip |cut -d'.' -f1`
  n2=`echo $ip |cut -d'.' -f2`
  n3=`echo $ip |cut -d'.' -f3`
  n4=`echo $ip |cut -d'.' -f4`
  #第一个if通过m和n来判断输入的ip是否符合要求
  if [ -z $m ] && [ $n -eq 4 ] && [ -n $n1 ] && [ -n $n2 ] && [ -n $n3 ] && [ -n $n4 ];then
  #第二个if通过n1到n4来判断输入的范围是否符合要求。
  if [ $n1 -ge 0 ] && [ $n1 -le 255 ] && [ $n2 -ge 0 ] && [ $n2 -le 255 ] && [ $n3 -ge 0 ] && [ $n3 -le 255 ] && [ $n4 -ge 0 ] && [ $n4 -le 255 ]
  then
  echo "ip正确"
  exit
  else
  echo "你输入的ip错误,请重新输入"
  fi
  else
  echo "你输入的ip错误,请重新输入"
  fi
  done

页: [1]
查看完整版本: shell脚本--判断输入的ip是否正确