shell-for循环语句

一、for循环

1. 语法格式1

for 变量 in 值1 值2 值3 ...do
    程序done

 说明:程序将遍历所有的值,赋值给变量,然后在执行程序。也就是说,后面接多少个值,程序就循环多少次。

2. 示例1:遍历5个数,进行输出

复制代码

#!/bin/bashfor i in 1 2 3 4 5do
    echo $idone#输出结果12345

复制代码

3. 示例2:遍历目录下的所有文件,进行输出文件名

#!/bin/bashfor file in $(ls) #注:ls会将当前目录下的所有文件列出来,然后逐个赋值给file,就可以逐个输出了do
    echo $filedone

 

4. 语法格式2

for (( 初始值;循环控制条件;变量变化 ))do
    程序done

 

说明:这种格式和C语言for循环的格式是一样的,区别只是需要用双括号括住循环条件。

5. 示例1:计算1到100的总和

复制代码

#!/bin/bashsum=0for ((i=1;i<=100;i=i+1))do
    sum=$(($sum+$i)) #同样可以使用,sum=$[$sum+$i]doneecho $sum#输出5050

复制代码

 

二、while循环

1. 语法格式

while [条件判断式]do
    程序done

 

说明:当条件判断式成立时,才会执行程序,直到条件判断式不成立时,才退出循环。

2. 示例:计算1到100的总和

复制代码

#!/bin/bash

i=1sum=0while [ $i -le 100 ]do
    sum=$(( sum+i ))
    i=$(( i+1 ))doneecho $sum#输出5050

复制代码

 

三、until循环

1. 语法格式

until [条件判断式]do
    程序done

 

说明:until循环和while循环是相反的,当条件判断式不成立时,才会执行程序,直到条件判断式成立,才退出循环。

2. 示例:计算1到100的总和

复制代码

#!/bin/bash

i=1sum=0until [ $i -gt 100 ]do
    sum=$(( sum+i ))
    i=$(( i+1 ))doneecho $sum#输出结果5050


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章