Shell学习笔记 - 循环语句
一、for循环
1. 语法格式1
for 变量 in 值1 值2 值3 ... do 程序 done
说明:程序将遍历所有的值,赋值给变量,然后在执行程序。也就是说,后面接多少个值,程序就循环多少次。
2. 示例1:遍历5个数,进行输出
#!/bin/bash for i in 1 2 3 4 5 do echo $i done #输出结果 1 2 3 4 5
3. 示例2:遍历目录下的所有文件,进行输出文件名
#!/bin/bash for file in $(ls) #注:ls会将当前目录下的所有文件列出来,然后逐个赋值给file,就可以逐个输出了 do echo $file done
4. 语法格式2
for (( 初始值;循环控制条件;变量变化 )) do 程序 done
说明:这种格式和C语言for循环的格式是一样的,区别只是需要用双括号括住循环条件。
5. 示例1:计算1到100的总和
#!/bin/bash sum=0 for ((i=1;i<=100;i=i+1)) do sum=$(($sum+$i)) #同样可以使用,sum=$[$sum+$i] done echo $sum #输出 5050
二、while循环
1. 语法格式
while [条件判断式] do 程序 done
说明:当条件判断式成立时,才会执行程序,直到条件判断式不成立时,才退出循环。
2. 示例:计算1到100的总和
#!/bin/bash i=1 sum=0 while [ $i -le 100 ] do sum=$(( sum+i )) i=$(( i+1 )) done echo $sum #输出 5050
三、until循环
1. 语法格式
until [条件判断式] do 程序 done
说明:until循环和while循环是相反的,当条件判断式不成立时,才会执行程序,直到条件判断式成立,才退出循环。
2. 示例:计算1到100的总和
#!/bin/bash i=1 sum=0 until [ $i -gt 100 ] do sum=$(( sum+i )) i=$(( i+1 )) done echo $sum #输出结果 5050