until命令格式
until test commans
do
other commands
done
示例:
[root@strong bash_stu]# cat test2.sh
#!/bin/bash
i=1
until [ $i -gt 5 ]
do
echo $i
i=$(($i+1))
done
[root@strong bash_stu]# . test2.sh
1
2
3
4
5
[root@strong bash_stu]#
break和continue命令可以用来控制循环;
break命令
该命令是处理过程中跳出循环的方法,可以使用break命令跳出任何类型的循环。
1、跳出单循环
[root@strong bash_stu]# cat test2.sh
#!/bin/bash
for((i=1;i<=10;i++))
do
if [ $i -eq 5 ]
then
break
fi
echo $i
done
[root@strong bash_stu]# . test2.sh
1
2
3
4
[root@strong bash_stu]#
2、跳出内循环
[root@strong bash_stu]# cat test2.sh
#!/bin/bash
for((i=1;i<4;i++))
do
echo "Outer loop :" $i
for((j=1;j<100;j++))
do
if [ $j -eq 5 ]
then
break
fi
echo " Inner loop :" $j
done
done
[root@strong bash_stu]# . test2.sh
Outer loop : 1
Inner loop : 1
Inner loop : 2
Inner loop : 3
Inner loop : 4
Outer loop : 2
Inner loop : 1
Inner loop : 2
Inner loop : 3
Inner loop : 4
Outer loop : 3
Inner loop : 1
Inner loop : 2
Inner loop : 3
Inner loop : 4
[root@strong bash_stu]#
3、跳出外循环
[root@strong bash_stu]# cat test2.sh
#!/bin/bash
for((i=1;i<4;i++))
do
echo "Outer loop :" $i
for((j=1;j<100;j++))
do
if [ $j -eq 5 ]
then
break 2
fi
echo " Inner loop :" $j
done
done
[root@strong bash_stu]# . test2.sh
Outer loop : 1
Inner loop : 1
Inner loop : 2
Inner loop : 3
Inner loop : 4
[root@strong bash_stu]#
continue命令
continue命令是一种提前停止循环内命令,而不完全终止循环的方法。
示例:如果i大于4小于8,则跳过继续循环
[root@strong bash_stu]# cat test2.sh
#!/bin/bash
for((i=1;i<=10;i++))
do
if [ $i -gt 4 ] && [ $i -lt 8 ]
then
continue
fi
echo $i
done
[root@strong bash_stu]# . test2.sh
1
2
3
4
8
9
10
[root@strong bash_stu]#