032 Linux之shell流控制for迴圈

2022-09-01 20:48:12 字數 1275 閱讀 2001

十年運維系列之基礎篇 - linux

聯絡:[email protected]

**:www.jplatformx.com

本章是關於流控制的最後一章,我們將學到乙個全新的shell迴圈結構,那就是for迴圈結構,因為for迴圈採用的是在迴圈期間進行序列處理的機制,所以它不同於while迴圈和until迴圈。事實證明,for迴圈是對程式設計非常有用的。因此for迴圈在bash指令碼中是一種非常流行的結構。

for命令在bash指令碼中存在兩種形式。

原始的for命令語法如下:

for variable [in words]; do

commands

done

其中,variable是乙個在迴圈執行時會增量的變數名,words是一列將按順序賦給變數variable的可選項,commands部分是每次迴圈時都會執行的命令。

for命令在命令列上是很有用的。如下圖展示:

需要注意的是,對於可選項只需要空格隔開即可。空格就是可選項的隔開符。

for迴圈真正強大的功能在於建立字元列表的方式有很多種。例如,可以使用花括號擴充套件的方式,如下所示:

或使用路徑名擴充套件方式,如下所示:

如果for命令中的選項部分被忽略的話,那麼for迴圈預設處理該位置引數。如下**和執行圖例如下:

最近的bash版本已經加入了第二種for命令語法,它類似於c語言形式,並且許多的程式語言都支援這種形式。其語法如下:

for (( expression1; expression2; expresson3 )); do

commands

done

其中expression1、expression2、expression3為算術表示式,commands是每次迴圈都要執行的命令。

就執行結果而言,這種形式等同於如下結構。

(( expression1 ))

while (( expression2 )); do

commands

(( expression3 ))

done

expression1用來初始化迴圈條件,expression2用來決定迴圈何時結束,expression3在每次迴圈末尾執行。

如下將具體展示用法和圖例:

shell指令碼 複數 linux之shell指令碼

1 如何向指令碼傳遞引數 script argument 例子 顯示檔名稱指令碼 2 如何在指令碼中使用引數 第乙個引數 1,第二個引數 2 例子 指令碼會複製檔案 arg1 到目標位址 arg2 3 如何計算傳遞進來的引數 4 如何在指令碼中獲取指令碼名稱 05 如何檢查之前的命令是否執行成功 6...

Linux之shell指令碼

1.shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。2.每個linux系統的使用者可以擁有他自己的使用者介面或shell,用以滿足他們自己專門的shell需要。同linux本身一樣,shell也有多種不同的版本 比如bash或sh ...

linux之shell指令碼

shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務,是指令碼中命令的直譯器。1 記錄命令執行的過程和執行邏輯,以便以後重複執行 2 指令碼可以批量處理主機 3 指令碼可以定時處理主機。bin bash 幻數 指令碼執行的直譯器,最優先執行vim自動新增...