日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

bash for循环_Bash 中的 For 循环

發(fā)布時(shí)間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bash for循环_Bash 中的 For 循环 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

循環(huán)是編程語(yǔ)言的基本概念之一。當(dāng)你想要一遍又一遍地運(yùn)行一系列命令直到達(dá)到某個(gè)條件后終止退出時(shí),循環(huán)很方便。

在諸如 Bash 之類的腳本語(yǔ)言中,循環(huán)對(duì)于自動(dòng)執(zhí)行重復(fù)性任務(wù)非常有用。

在 Bash 腳本中有3個(gè)基本的循環(huán)結(jié)構(gòu),for 循環(huán), while 循環(huán),until 循環(huán)。

在本教程中,我們將介紹 Bash 中 for 循環(huán)的基礎(chǔ)知識(shí)以及用于改變循環(huán)流的 break 和 continue 語(yǔ)句。

標(biāo)準(zhǔn) Bash for 循環(huán)

for 循環(huán)遍歷項(xiàng)列表并執(zhí)行給定的命令集。

Bash for 循環(huán)采用以下形式:

for item in [LIST]do [COMMANDS]done

列表可以是由空格分隔的一系列字符串,一系列數(shù)字,命令輸出,數(shù)組等。

循環(huán)遍歷字符串

在下面的示例中,循環(huán)將遍歷字符串列表中的每個(gè)項(xiàng)目,使用變量 element 代表當(dāng)前項(xiàng)目。

for element in Hydrogen Helium Lithium Berylliumdo echo "Element: $element"done

循環(huán)將產(chǎn)生以下輸出:

Element: HydrogenElement: HeliumElement: LithiumElement: Beryllium

循環(huán)遍歷數(shù)字范圍

您可以使用序列表達(dá)式通過(guò)定義范圍的起點(diǎn)和終點(diǎn)來(lái)指定數(shù)字或字符的范圍。序列表達(dá)式采用以下形式:

{START..END}

在下面的示例中,循環(huán)將遍歷從 0 到 3 的所有數(shù)字。

for i in {0..3}do echo "Number: $i"doneNumber: 0Number: 1Number: 2Number: 3

從 Bash 4 開(kāi)始,還可以在使用范圍時(shí)指定增量。表達(dá)式采用以下形式:

{START..END..INCREMENT}for i in {0..20..5}do echo "Number: $i"doneNumber: 0Number: 5Number: 10Number: 15Number: 20

循環(huán)數(shù)組元素

您還可以使用 for 循環(huán)迭代元素?cái)?shù)組:

在下面的示例中,我們定義一個(gè)數(shù)組 BOOKS 并迭代數(shù)組的每個(gè)元素。

BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby')for book in "${BOOKS[@]}"; do echo "Book: $book"doneBook: In Search of Lost TimeBook: Don QuixoteBook: UlyssesBook: The Great Gatsby

C 風(fēng)格的 Bash for 循環(huán)

C-style for 循環(huán)的語(yǔ)法采用以下形式:

for ((INITIALIZATION; TEST; STEP))do [COMMANDS]done

INITIALIZATION 部分僅在循環(huán)開(kāi)始時(shí)執(zhí)行一次。然后,評(píng)估 TEST 部分。如果為假,則 for 循環(huán)終止。如果 TEST 為真,則執(zhí)行 for 循環(huán)體內(nèi)的命令并更新 STEP 部分。

在下面的代碼中,循環(huán)通過(guò)初始化星型 i = 0 ,然后在每次迭代之前檢查是否 i ≤ 10 。如果為 true ,則打印當(dāng)前值 i 并將變量遞增 i 1 (i++) ,否則循環(huán)終止。

for ((i = 0 ; i <= 1000 ; i++)); do echo "Counter: $i"done

循環(huán)迭代 1001 次并將產(chǎn)生以下輸出:

Counter: 0Counter: 1Counter: 2...Counter: 998Counter: 999Counter: 1000

break 和 continue

break 和 continue 語(yǔ)句可用于控制 for 循環(huán)執(zhí)行。

break 語(yǔ)句

break 語(yǔ)句終止當(dāng)前循環(huán)并將程序控制傳遞給終止語(yǔ)句后面的語(yǔ)句。它通常用于在滿足某個(gè)條件時(shí)終止循環(huán)。

在下面的示例中,一旦當(dāng)前迭代項(xiàng)等于 ‘Lithium’ ,循環(huán)的執(zhí)行將終止。

for element in Hydrogen Helium Lithium Beryllium; do if [[ "$element" == 'Lithium' ]]; then break fi echo "Element: $element"doneecho 'All Done!'Element: HydrogenElement: HeliumAll Done!

continue 語(yǔ)句

continue 語(yǔ)句退出循環(huán)的當(dāng)前迭代,并將程序控制傳遞給循環(huán)的下一次迭代。

在下面的示例中,我們迭代一系列數(shù)字,當(dāng)當(dāng)前迭代項(xiàng)等于 ‘2’ 時(shí), continue 語(yǔ)句將導(dǎo)致執(zhí)行返回到循環(huán)的開(kāi)頭并繼續(xù)下一次迭代。

for i in {1..5}; do if [[ "$i" == '2' ]]; then continue fi echo "Number: $i"doneNumber: 1Number: 3Number: 4Number: 5

For 循環(huán)示例

重命名文件名中包含空格的文件

下面的示例演示如何使用 Bash for 循環(huán)通過(guò)將空格替換為下劃線來(lái)重命名當(dāng)前目錄中的所有文件,并在其名稱中包含空格。

for file in * *; do mv "$file" "${file// /_}"done

讓我們逐行分解代碼:

  • 第一行創(chuàng)建一個(gè) for 循環(huán),并遍歷其名稱中帶有空格的所有文件的列表。表達(dá)式 * * 創(chuàng)建列表。
  • 第二行適用于列表中的每個(gè)項(xiàng)目,并將文件移動(dòng)到新的文件,用下劃線 (_) 替換空格。該部分 ${file// /_ } 使用 shell 參數(shù)擴(kuò)展來(lái)用字符串替換參數(shù)中的模式。
  • done 表示循環(huán)段的結(jié)束。

更改文件擴(kuò)展名

以下示例顯示如何使用 Bash for 循環(huán)通過(guò)將文件擴(kuò)展名從 .jpeg 替換為 .jpg 來(lái)重命名當(dāng)前目錄中以 .jpeg 結(jié)尾的所有文件。

for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg"done

讓我們逐行分析代碼:

  • 第一行創(chuàng)建一個(gè) for 循環(huán),并遍歷一個(gè)包含 .jpeg 結(jié)尾的所有文件的列表。
  • 第二行適用于列表中的每個(gè)項(xiàng)目,并將文件移動(dòng)到一個(gè)用 .jpg 替換 .jpeg 的新文件。該部分 ${file%.jpeg }使用 shell 參數(shù)擴(kuò)展從文件名中刪除 .jpeg 部分。
  • done 表示循環(huán)段的結(jié)束。

結(jié)論

到目前為止,您應(yīng)該很好地理解如何使用 bash for 循環(huán)遍歷列表。

總結(jié)

以上是生活随笔為你收集整理的bash for循环_Bash 中的 For 循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。