循环次数不一定是固定的、可以固定可以不固定

一、while语句结构

while 条件测试

do

循环体

done

==当条件测试成立(条件测试为真),执行循环体

案例一: 使用while创建用户

#!/usr/bin/bash
#while create user
while read line
do
if [ ${#line} -eq 0 ];then
continue
fi
user=`echo $line | awk '{print $1}'`
pass=`echo $line | awk '{print $2}'`
id $user &>/dev/null
if [ $? -eq 0 ];then
echo "${user}User already exists"
else
useradd $user
echo "$pass" | passwd --stdin $user &>/dev/null
if [ $? -eq 0 ];then
echo "${user}Creating a successful"
fi
fi

done < $1

案例二: ping如果ping不通就提示,条件为真就循环,

#!/usr/bin/bash
while ping -c1 192.160.1.2 &>/dev/null
do
sleep 1 //时间停隔1秒
done
echo "192.160.1.2 is down"

二、until语句结构

nutil 条件测试

do

循环体

done

==当条件测试成立(条件测试为假),执行循环提

案例一: 条件为假,则循环。

#!/usr/bin/bash
ip=192.160.1.2
until ping -c1 $ip &>/dev/null
do
sleep 1
done
echo "$ip is up"