1.for循环
这里介绍两种fo循环:列表形式的for循环,类C语言的for循环
(1)列表形式的for循环:累加求和
#
#/bin/bash
sum=0
for i in {1..100}
do
let "sum+=i"
done
echo "sum=$sum"
这里使用简写形式的列表{1..100}:表示1 2 3 4 ......100,主要放在大括号里面,第一次循环i等于列表中的第一个元素,也就是1,第二次等于第二个元素(2)...一直执行100次
结果:
lan@lan_ubuntu:~/桌面/program/课本$ ./for6.sh
sum=5050
(2)类C语言的for循环
lan@lan_ubuntu:~/桌面/program/课本$ cat for7.sh
#!/bin/bash
sum=0
for((i=0;i<=100;i++))
do
sum=`expr $sum + $i` #注意了这个不是单引号,是反引号,Esc和Tab之间的那个键就是啦
done
echo "sum=$sum"
结果
lan@lan_ubuntu:~/桌面/program/课本$ ./for7.sh
sum=5050
还是这种写法看起来好一点
注意要用两个括号
while循环
while循环,循环依据是:如果条件表达式 [ ... ],的值为真,继续循环,直到条件表达式的值为假,结束循环。
lan@lan_ubuntu:~/桌面/program/课本$ cat while.sh
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
sum=`expr $sum + $i`
i=`expr $i + 1`
done
echo The sum is $sum
结果:
lan@lan_ubuntu:~/桌面/program/课本$ ./while.sh
The sum is 5050
循环的do和done其实类似于C语言中的{和}。
until循环语句
until 条件表达式
do
命令列表
done
如果条件表达式的值为假,until循环,继续循环,直到条件表达式为真的时候才终止循环
例:累加1+2+3+...+100=5050
lan@lan_ubuntu:~/桌面/program/课本$ cat until.sh
#!/bin/bash
#until 语句:如果条件表达式的值为假,继续循环,直到表达式的值为真循环结束
i=1
sum=0
until [ $i -gt 100 ]
do
sum=`expr $sum + $i`
i=`expr $i + 1`
done
echo "sum=$sum"
结果:
lan@lan_ubuntu:~/桌面/program/课本$ ./until.sh
sum=5050