for while 表是条件为真时执行循环体中的内容;until表是条件为假时,执行循环体中的内容。
for_while_until_ping.sh
#!/usr/bin/bash
#for while until ping
#v1 by xfeng 2019.02.30
for i in {2..254}
do
{
ip=192.168.8.$i
ping -c1 -W1 $ip &>/dev/null #W1代表ping的最大时长为1s,c1代表ping的次数
if [ $? -eq 0 ];then
echo “$ip is up...”
fi
}&
wait #{}&代表在后台同时执行,wait代表上述后台的任务执行后再执行后面的命令
echo "All is finished"
done
while_for_until_ping.sh
i=2
while [ $i -le 254 ];do
{
ip=192.168.8.$i
ping -c1 -W1 $ip &>/dev/null #W1代表ping的最大时长为1s,c1代表ping的次数
if [ $? -eq 0 ];then
echo “$ip is up...”
fi
}&
let i++
done
until_while_for_ping.sh
i=2
until [ $i -gt 254];do
{
ip=192.168.8.$i
ping -c1 -W1 $ip &>/dev/null #W1代表ping的最大时长为1s,c1代表ping的次数
if [ $? -eq 0 ];then
echo “$ip is up...”
fi
}&
let i++
done
总结:
for,while,until循环特性:循环的次数等于变量的取值列表中的值的个数;循环输出的内容,由用户自定义。