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


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