while until 循环

while  [ 条件为真 ]

do 

        循环体

done

until  [ 条件为假 ]

do

        循环体

done

eg:分别使用until和while分别实现192.168.0.0/24

网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

while:

#!/bin/bash

ipnet='192.168.0'

i=1

while [ $i -lt 255 ]

do

  ping -w 1 -c 1  ${ipnet}.$i  &>/dev/null

  if [ $? -eq 0 ];then

      echo "${ipnet}.${i}..success"

  else

      echo "${ipnet}.${i}..fail!"

  fi

  i=$(( $i + 1 ))

done

还可以:

if  ping -w 1 -c 1 ${ipnet}.$i &>/dev/null ;then

else

fi


until: 

#!/bin/bash

ipnet='192.168.0'

i=1

until [ $i -ge 255 ]

do

  ping -w 1 -c 1  ${ipnet}.$i  &>/dev/null

  if [ $? -eq 0 ];then

      echo "${ipnet}.${i}..success"

  else

      echo "${ipnet}.${i}..fail!"

  fi

  i=$(( $i + 1 ))

done

你可能感兴趣的:(while until 循环)