作用:
循環語句的作用是它可以讓一段代碼重復的執行,直到所需條件不滿足為止。
在linux中變量的賦值方式有三種:
第一:直接等于號賦值
第二:通過read交互賦值
第三:for循環的賦值
bash腳本中的循環有三種:
for循環
while循環
until循環
循環的執行要有兩個條件,進入和退出條件
進入條件:條件滿足時才進入循環
退出循環:每個循環都應該有退出條件,以有機會退出循環
for循環:
條件的兩種格式:
(1)遍歷列表
(2)控制變量
格式:
for 變量 in 列表;do
循環體 把列表中的值一遍遍的賦值給變量
done
進入條件:只要列表中有元素,即可進入循環
退出條件:遍歷列表后退出
列表的生成方式:
(1)直接給出
(2)整數列表
(a){ start…end }, 例如:{1..100}
(b) seq [start[步長]] last 例如:seq 1 2 100
(3)返回列表命令 例如:$(ls /var/*)
(4)glob通配符匹配
(5)變量引用 例如:$@ $* …
舉例演示1:
根據選項批量創建用戶、刪除用戶
舉例演示2:
打印九九乘法表
舉例演示3:
打印國際象棋棋盤
for循環的特殊用法:
格式:
for ((控制變量初始化;控制條件判斷表達式;控制變量的修正語句))
① ② ③
do
循環體
④
done
解釋:
控制變量初始化:僅在循環代碼開始運行時執行一次
控制條件判斷表達式:是指給定的進入和退出判斷條件,這里的條件判斷直接使用> < = 這些符號就可以了 例如:i<=100
控制變量的修正語句:每輪循環結束會先進行控制變量的修正運算,而后再做條件測試。
執行的順序是:①–②–③–④–③–②… 當②判斷為假時退出
舉例演示1
求10以內的所有正整數之和
舉例演示2
打印九九乘法表
while循環:
格式:
while 條件 ;do
循環體
循環控制變量修正表達式
done
while循環的進入與退出條件
進入條件:條件測試為真時進入循環
退出條件:條件測試為假時結束循環
累加的功能:可以實現把一個數字列表的值依次加到某一個變量原有的值之上,從而能求出指定范圍內的整數之和。
exit命令:退出整個腳本
舉例演示:
通過ping命令測試出10.1.252.0這個網段所有主機的在線狀態
舉例演示2:
打印國際象棋棋盤
while循環的特殊用法 (遍歷文件的每一行)
格式:
while read 變量;do
循環體
done < /PATH/FROM/SOMEFILE
執行的方式為:依次讀取/PATH/FROM/SOMFILE文件的每一行,且將其賦值給變量
舉例演示:
顯示出系統中所有用戶名及所對應的shell,并計算總用戶數
until 循環:
格式:
until 條件;do
循環體
循環控制變量的修正表達式
done
until的進入和退出條件:
進入條件:條件測試為假使進入循環
退出條件:條件測試為真時結束循環
until循環的與while循環正好相反
舉例演示:
用until循環打印九九乘法表
計算100以內的偶數之和,基數之和
偶數:
基數:
循環控制語句:
continue命令
continue:提前結束本輪循環,而直接進入下一輪循環判斷,不應該寫在循環的最后,沒有意義
continue是當循環中遇到它就不執行它以下的操作了,而是直接返回到指定的層繼續循環
continue后面也可以跟數字,表示結束本輪循環后跳至哪一層的循環,數字的大小是從內層往外數,
例如:continue 2 表示結束本輪循環后直接退回到最內層往外數的第二層開始循環。
break命令
break是提前跳出循環,直接結束整個循環,去執行循環以下的操作,可以寫在循環的任何位置
sleep命令:可以讓腳本的睡眠一會在執行,后可跟數字,默認一秒為單位,表示多少秒后再執行腳本,可以設置天,小時等等
原創文章,作者:ZJM,如若轉載,請注明出處:http://www.www58058.com/38631