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

你可能感兴趣的:(Shell学习笔记 - 循环语句)