讓我們繼續教程,在今天的主題中介紹循環的shell腳本。我們在上一個教程中討論了 while 循環,並使用了 break 和 continue 語句來根據某些條件終止 while 循環。讓我們直接進入主題!
shell腳本中的while循環和for循環有什麼區別?
for 循環和 while 循環之間的主要區別在於它們的定義和語法。 當使用 while 循環時,它提供了 while 循環一直循環直到它變為 false 的條件。您沒有指定循環迭代的次數。另一方面,for 循環需要兩個或三個條件,而最後一個條件通常決定了迭代的次數。
第一個條件是在循環開始時對序列中的變量進行迭代,並根據迭代的內容自動遞增它們。例如,如果您需要執行一系列數字,則變量將根據指定的數字遞增。
如果我在上面寫的所有內容對您來說聽起來很尷尬,請閱讀它,它很快就會揭曉。
Bash for 循環定義
定義 bashfor 循環有兩種方法。 第一個是帶有兩個變量的 bash 樣式,第二個是帶有三個變量的 C 樣式。語法如下:
循環定義的 Bash 樣式:
for VARIABLE in SEQUENCE
這個 改變 循環中使用的變量名 命令 它可以是一系列數字、多個文件、Linux 命令等。
C 風格的循環定義:
for (( variable declaration; condition; increment variable))
如何使用for循環?
現在你有了基本的了解 for 循環是時候開始在腳本中使用它了。首先,創建一個遍歷指定序列的簡單 for 循環。
#!/bin/bash for i in 1 2 3 4 5 6 7 do echo "Loop number $i" done
是不是很容易理解?讓我們轉到另一個序列組。
BashFor 循環文件
for 循環在循環期間不會讀取文件的內容,它只允許您在循環期間對一個文件執行操作。讓我們看下面的例子。
#!/bin/bash for i in *.txt do echo "Contents from the files: $i" cat $i done
出於演示目的,我創建了兩個包含文本的文件。 在編寫一次 cat 命令後,查看 for 循環如何遍歷兩個文件。
在 shell 腳本中編寫 C 風格的 for 循環
您現在應該對迭代單個序列感到滿意。讓我們繼續前面描述的 C 樣式循環。 如果您使用過 C 或 C++,這幾乎是一樣的。但如果沒有,也不是太難。
讓我們創建一個通過重複 7 次來回顯數字的 for 循環。
for (( i=1; i<=7; i++ )) do echo "Loop number $i" done

讓我們逐節了解循環。使用雙括號的原因是表明 bash 在括號內使用了 C 風格的表達式。
- 第一個公式: 我 = 1 創建循環的開始。
- 第二種表達方式: 告訴循環運行,直到變量為 7 或更少
- 最後一個公式: 我++ 確定增量如何發生。在這種情況下,它發生在 1
結論是
我希望這可以幫助您了解循環的 shell 腳本是如何工作的。如果您有任何問題,請在下方發表評論。