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