while循环
1、while循环是不定循环,也称作条件循环。只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止。这就和for的固定循环不太一样。
2、格式:
while [ 条件判断式 ] #注意条件判断式前后的空格
do
程序
done
示例1:计算1+2+3+。。。+100的值
[root@localhost sh]# vim whileTest1.sh
#!/bin/bash
#从1 加到100
i=1
s=0
while [ $i -le 100 ]
# i小于等于100
#如果变量i的值小于等于100,则执行循环
do
s=$(($s +$i))
i=$(($i + 1))
done
echo "The sum is:$s"
~
[root@localhost sh]# chmod 755 whileTest1.sh
[root@localhost sh]# ./whileTest1.sh
The sum is:5050
[root@localhost sh]#
二、until循环
1、until循环,和while循环相反,until循环式只要条件判断式不成立则进行循环,
并执行循环程序。一旦循环条件成立,则终止循环
2、格式:
until [ 条件判断式 ]
do
程序
done
示例2:
[root@localhost sh]# cp whileTest1.sh untilTest.sh
[root@localhost sh]# ls
beifenmysql.sh caseTest2.sh forTest3.sh jiafajisuanqi.sh student1.txt zhengzetest
canshu1.sh ceshiifelse.sh forTest4.sh judgeapachestart.sh student.txt
canshu4.sh fenquused.sh forTest5.sh ls.log untilTest.sh
canshu6.sh forTest1.sh hello.sh orld whileTest1.sh
caseTest1.sh forTest2.sh inputwhat.sh shili3.sh yudingyibianliang
[root@localhost sh]# vim untilTest.sh
#!/bin/bash
#从1 加到100
i=1
s=0
until [ $i -ge 100 ]
#如果变量i的值小于等于100,则执行循环
do
s=$(($s +$i))
i=$(($i + 1))
done
echo "The sum is:$s"
~
[root@localhost sh]# chmod 755 untilTest.sh
[root@localhost sh]# ./untilTest.sh
The sum is:4950
[root@localhost sh]# vim untilTest.sh
#!/bin/bash
#从1 加到100
i=1
s=0
until [ $i -gt 100 ]
#如果变量i的值小于等于100,则执行循环
do
s=$(($s +$i))
i=$(($i + 1))
done
echo "The sum is:$s"
[root@localhost sh]# ./untilTest.sh
The sum is:5050