shell中的循环结构有三种:while、until、for
1、while语句
while语句重复执行命令,直到测试条件为假,语句块:
while test-commands
do
commands
done
示例:计算1+2+3+……100
#! /bin/bash
sumo=0
number=1
while test $num -le 100 #当变量num的值大于或等于100时
do
sum=$[ $sum +$number ] #求sum的和
let number=$number+1 #number每次加1
done #循环结束标志
如果不知道上面$和let还有看不懂计算为什么要这样写的,可以看这里Shell编程——变量和运算符(二)
2、until语句
until是while语句的另一种写法——除了测试条件相反。
也就是说,while语句是命令返回为真时,才执行do后的操作。
而until是当命令返回为假(非0值)时,才执行do后的操作;或者说成执行do后的操作,直到until后面的命令为真就停止循环
while test $number -le 100 等同于 until ! test $number -le 100
3、for语句
for语句在一个值表上迭代执行,基本语法:
for variable [ in list ]
do
commands
done
“值表”是一系列以空格分隔的值
示例:
for语句也可以接受字符和字符串组成的列表
示例:统计当前目录下的文件个数
解释:这段脚本每次从ls生成的文件列表中取出一个值存放在file变量中,并给计数器加1