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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

bash for循环_Bash 中的 For 循环

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

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

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

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

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

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

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

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

for item in [LIST]do [COMMANDS]done

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

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

在下面的示例中,循環(huán)將遍歷字符串列表中的每個項目,使用變量 element 代表當(dā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á)式通過定義范圍的起點(diǎn)和終點(diǎn)來指定數(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 開始,還可以在使用范圍時指定增量。表達(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)迭代元素數(shù)組:

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

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)的語法采用以下形式:

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

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

在下面的代碼中,循環(huán)通過初始化星型 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 語句可用于控制 for 循環(huán)執(zhí)行。

break 語句

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

在下面的示例中,一旦當(dā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 語句

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

在下面的示例中,我們迭代一系列數(shù)字,當(dāng)當(dāng)前迭代項等于 ‘2’ 時, continue 語句將導(dǎo)致執(zhí)行返回到循環(huán)的開頭并繼續(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)通過將空格替換為下劃線來重命名當(dāng)前目錄中的所有文件,并在其名稱中包含空格。

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

讓我們逐行分解代碼:

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

更改文件擴(kuò)展名

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

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

讓我們逐行分析代碼:

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

結(jié)論

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

總結(jié)

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

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