shell中的while循环
1.while循环
while循环是shell脚本中最简单的一种循环:
当条件满足时,while重复地执行一组语句,当条件不满足时,就退出while循环
格式:
while condition
do
statements
done
condition表示判断条件,statements表示要执行的语句
注意:
1.在while循环体中必须有相应的语句使得condition越来越趋于“不成立”,只有这样才能最终退出循环,都则while就成了死循环,会一直执行下去,永无休止
2.while语句和if else 语句中的condition用法都是一样的,你可以使用test或者[ ]命令,也可以使用(( ))或[[ ]]
2.计算1到100的和
#!/bin/bash
#计算1到100的和
sum=0
n=1
while ((n<=100))
do
((sum+=n))
((n++))
done
echo "The sum is $sum"
3.计算从m加到n的值
#!/bin/bash
#计算从m加到n的值
read m
read n
sum=0
while ((m<=n))
do
((sum+=m))
((m++))
done
echo "The sum is $sum"
4.实现简单加法计算器
实现一个简单加法计算器,用户每行输入一个数字,计算所有数字的和
#!/bin/bash
sum=0
echo "请输入要计算的数字。按下Ctrl+D组合结束读取"
while read n
do
((sum+=n))
done
echo "The sum is $sum "
在终端中读取数据可以等价与在文件中读取数据,按下Ctrl+D组合键表示读取到文件流的末尾,此时read就会读取失败,得到一个非0的退出状态,从而导致判断条件不成立,结束循环