Bash程式設計中迴圈結構應該這麼使用

2021-10-10 15:39:28 字數 1881 閱讀 4892

shell 當中迴圈命令存在三種, 分別是: for, while 和 until. for和while屬於"當型迴圈", until屬於"直到型迴圈".

注意: 在迴圈結構體作用域內要想修改外部作用域的變數, 需要使用let命令. 否則修改無效.

for 迴圈有三種結構: 列表for迴圈, 不帶列表for迴圈, 類c風格的for迴圈.

# 1到5的迴圈

forvin;

doecho

"$v"

done

# 1到100的奇數迴圈

forvin;

doecho

"$v"

done

# 對字串的的迴圈操作

for i in

$(ls);

doecho

"file: $i"

done

# 對引數的迴圈操作

for i in$@;

doecho

"param: $i"

done

由使用者制定引數和引數個數. 與上面的對引數的迴圈操作類似.

for argument;

doecho

"$argument"

done

# 計數

for(( i =

0; i <

100;

++i ));do

echo

"$i"

done

i=1

while

(( i <=

100));do

echo

"$i"

let i+=1 # 必須使用 let

done

read num

while[[

"$num" -ne 4 ]];

doif[[

"$num" -lt 4 ]];

then

echo

"num to small"

read num

else

echo

"num to big"

read num

fidone

while[[

"$*"

!=""]]

;doecho

"$1"

shift

done

i=0

until[[

"$i" -gt 5 ]];

doecho

"$i"

let ++i # 必須使用 let

done

select, bash的擴充套件結構, 用於互動式選單顯示. 注意書寫的格式,do最好另起一行.

select color in

"red"

"blue"

"green"

dobreak

done

echo

"color is: $color"

select color

dobreak

done

echo

"color is $color"

注意:select 不帶引數列表需要在命令列執行的時候帶上引數列表. 推薦使用第一種方式.

Bash迴圈結構

endif endif endif forarginlist do done 有限迴圈,次數取決於 list 元素的個數,內容取決於 list 元素的值 while do done 條件迴圈,當條件為真時,執行一次迴圈 until do done 條件迴圈,當條件為假時,才執行一次迴圈 casear...

玩轉Bash指令碼 迴圈結構之for迴圈

for 變數 in 取值列表 do 各種操作 done 還有罕見的寫法就是都寫作一行裡 for 變數 in 取值列表 do 各種操作 done 取值列表大致可以分成列舉和迭代兩類 取值列表為空格或回車符分割的字串 foriin meat sleep woman doecho i like i don...

玩轉Bash指令碼 迴圈結構之for迴圈

for迴圈 for 變數 in 取值列表 do 各種操作 done還有罕見的寫法就是都寫作一行裡 for 變數 in 取值列表 do 各種操作 done取值列表大致可以分成列舉和迭代兩類 取值列表為空格或回車符分割的字串 for i in apple meat sleep woman do echo...