一、for循環(huán)語句
1. for循環(huán)語法結(jié)構(gòu)
列表for循環(huán):用于將一組命令執(zhí)行 已知的次數(shù)
基本語法格式

圖片.png
舉例說明

圖片.png
㈡ 不帶列表循環(huán)
不帶列表的for循環(huán)執(zhí)行時由用戶指定參數(shù)和參數(shù)的個數(shù)
基本語法格式

圖片.png
舉例說明

圖片.png
㈢ 類C風(fēng)格的for循環(huán)
基本語法結(jié)構(gòu)

圖片.png
舉例說明

圖片.png
2. 應(yīng)用案例
㈠ 腳本==計算==1-100奇數(shù)和
① 思路
- 定義一個變量來保存奇數(shù)的和 ==sum===0
- 找出1-100的奇數(shù),保存到另一個變量里 ==i===遍歷出來的奇數(shù)
- 從1-100中找出奇數(shù)后,再相加,然后將和賦值給變量 循環(huán)變量 for
- 遍歷完畢后,將sum的值打印出來
② 落地實現(xiàn)

圖片.png

x

圖片.png

圖片.png

圖片.png
③ 循環(huán)控制語句
do....done==之間的內(nèi)容
- continue:繼續(xù);表示==循環(huán)體==內(nèi)下面的代碼不執(zhí)行,重新開始下一次循環(huán)
- break:打斷;馬上停止執(zhí)行本次循環(huán),執(zhí)行==循環(huán)體==后面的代碼
-
exit:表示直接跳出程序
圖片.png
㈡ 判斷所輸整數(shù)是否為質(zhì)數(shù)
質(zhì)數(shù)(素數(shù)):只能被1和它本身整除的數(shù)叫質(zhì)數(shù)。
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
① 思路
- 讓用戶輸入一個數(shù),保存到一個變量里
. 如果能被其他數(shù)整除就不是質(zhì)數(shù)——>i是否等于0
num-1
- 如果輸入的數(shù)是1或者2取模根據(jù)上面判斷又不符合,所以先排除1和2
- 測試序列從2開始,輸入的數(shù)是4——>得出結(jié)果
i相等,并且
i
② 落地實現(xiàn)

圖片.png
㈢ 批量創(chuàng)建用戶
需求:批量加5個新用戶,以u1到u5命名,并統(tǒng)一加一個新組,組名為class,統(tǒng)一改密碼為123
① 思路
- 添加用戶的命令
- 判斷class組是否存在
- 根據(jù)題意,判斷該腳本循環(huán)5次來添加用戶
- 給用戶設(shè)置密碼,應(yīng)該放到循環(huán)體里面
② 落地實現(xiàn)

圖片.png

圖片.png

圖片.png
3.練習(xí)
㈠ 批量創(chuàng)建用戶
需求1:批量新建5個用戶stu1~stu5,要求這幾個用戶的家目錄都在/rhome.

圖片.png
㈡ 局域網(wǎng)內(nèi)腳本檢查主機網(wǎng)絡(luò)通訊
需求2:
寫一個腳本,局域網(wǎng)內(nèi),把能ping通的IP和不能ping通的IP分類,并保存到兩個文本文件里
以10.1.1.1~10.1.1.10為例

圖片.png
延伸擴展:shell腳本并發(fā)

圖片.png
㈢ 判斷閏年
需求3:
輸入一個年份,判斷是否是潤年(能被4整除但不能被100整除,或能被400整除的年份即為閏年)

圖片.png
總結(jié)
- FOR循環(huán)語法結(jié)構(gòu)
- FOR循環(huán)可以結(jié)合條件判斷和流程控制語句
- do ......done 循環(huán)體
- 循環(huán)體里可以是命令集合,再加上條件判斷以及流程控制
- 控制循環(huán)語句
- continue 繼續(xù),跳過本次循環(huán),繼續(xù)下一次循環(huán)
- break 打斷,跳出循環(huán),執(zhí)行循環(huán)體外的代碼
- exit 退出,直接退出程序
二、while循環(huán)語句
特點:==條件為真就進入循環(huán);條件為假就退出循環(huán)==
1. while循環(huán)語法結(jié)構(gòu)

圖片.png
循環(huán)打印1-5數(shù)字

圖片.png
2. 應(yīng)用案例
㈠ 腳本計算1-50偶數(shù)和

圖片.png
㈡ 腳本同步系統(tǒng)時間
① 具體需求
- 寫一個腳本,30秒同步一次系統(tǒng)時間,時間同步服務(wù)器10.1.1.1
- 如果同步失敗,則進行郵件報警,每次失敗都報警
- 同步成功,也進行郵件通知,但是成功100次才通知一次
② 思路
- 每個30s同步一次時間,該腳本是一個死循環(huán)
- 同步失敗發(fā)送郵件
- 同步成功100次發(fā)送郵件
③ 落地實現(xiàn)

圖片.png
三、until循環(huán)
特點:==條件為假就進入循環(huán);條件為真就退出循環(huán)==
1. until語法結(jié)構(gòu)

圖片.png
打印1-5數(shù)字

圖片.png
2. 應(yīng)用案例
㈠ 具體需求
- 使用until語句批量創(chuàng)建10個用戶,要求stu1—stu5用戶的UID分別為1001—1005;
- stu6~stu10用戶的家目錄分別在/rhome/stu6—/rhome/stu10
㈡落地實現(xiàn)

圖片.png
