20.11/20.12 while循環
20.13 break跳出循環
20.14 continue結束本次循環
20.15 exit退出整個腳本
for循環,需求:1~100求和
先寫打印出1~100數字的腳本
再定義sum,執行出結果
執行腳本和過程
需求:查看etc下的目錄
查看執行過程,可以看出不是目錄的文件系統進行判斷後會直接跳過
如下圖,表達式一樣
提示,for循環的原則是把Space空格或者Enter回車鍵作爲一個分隔符,具體示例
while循環
需求:每隔半分鐘檢查一次系統的負載,當系統的負載大於10,發一封郵件
實現腳本:其中while true和while :等價,都是死循環即一直執行
執行過程和結果如下圖:每隔30s執行一次,其中w |head -1 == uptime, awk正則以load average:爲分隔符,代印出匹配的第二段,並cut以小數點爲分隔符,截取第一段即小數點前面的數字,腳本中的判斷語句爲如果load大於10,則發郵件,發到某郵箱,提示爲負載過高,併發送具體數值$load,下圖中awk -F後的分隔符如果不加空格還可以用sed把空格替換成空:sed 's/ // '實現
需求2:在循環過程中需要人爲輸入一個數字(需要檢測判斷)
其中continue的作用表示從頭開始繼續循環,後面的腳本不再執行;break表示退出該腳本的循環
查看腳本執行過程(該腳本可以讓用戶不停的輸入系統認爲合法的字符串,直到合適爲止,而不會從頭把所有的腳本再完整的執行一遍)
解釋:輸入爲空時,腳本提示你需要輸入一些東西,輸入字母加數字時,系統提示只能輸入純數字;輸入純數字,系統判斷OK後echo輸出
break跳出循環
寫一個for循環,判斷i是否等於3,一旦判斷正確,直接退出循環(數字之前比較大小用-eq比較多也可以用==,而字符串只能 用==表示等於)
continue結束本次循環
執行結果如下
exit退出整個腳本
執行結果;退出腳本(通常情況下會定義一個返回值)