Shell for循环及用法举例
for 循环的语法有如下 2 种。
语法一
for 变量 in 值1 值2 值3…
do
程序
done
【例 1】打印时间。
[root@localhost ~]# vi sh/for.sh
#!/bin/bash 打印时间
for time in morning noon afternoon evening
do
echo "This time is $time!"
done
[root@localhost ~]# sh/for.sh
This time is morning!
#第一次循环把morning赋予变量time
This time is noon!
#第二次循环把noon赋予变量time
This time is afternoon!
第三次循环把afternoon赋予变量time
This time is evening!
#第四次循环把evening赋予变量time,循环结束
语法二
for ((初始值;循环控制条件;变量变化))
do
程序
done
- 初始值:在循环开始时,需要给某个变量赋予初始值,如 i=1。
- 循环控制条件:用于指定变量循环的次数,如 i<=100,则只要 i 的值小于等于 100,循环就会继续。
- 变量变化:每次循环之后,变量该如何变化,如 i=i+1,代表每次循环之后,变量的值都加 1。
语法二和其他语言中的 for 循环类似,也就是事先决定循环次数的固定循环。先举一个简单的例子。
【例 2】从 1 加到 100。
#!/bin/bash
#从 1 加到100
s=0
for(( i=1;i<=100;i=i+1))
#定义循环100次
do
s=$(($s+$i))
#每次循环给变量s赋值
done
echo "The sum of 1+2+..+100 is : $s"
#输出从1加到100的和