Shell腳本編程之循環(for、while、until)
一、循環語句的對比:
for語句 |
while語句 |
until語句 |
|
執行機制: |
依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中的元素耗盡,循環結束 |
CONDITION:循環控制條件;進入循環之前,先做一次判斷;每一次循環之后會再次做判斷;條件為“true”,則執行一次循環;直到條件測試狀態為“false”終止循環 |
|
使用格式: |
for $name in 列表 ;do 循環體 done |
while CONDITION; do 循環體 done |
until CONDITION; do 循環體 done |
循環條件: |
注:for的循環是有列表控制。 (1) 直接給出列表 (2) 整數列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 變量引用; $@, $* |
CONDTION一般應該有循環控制變量;而此變量的值會在循環體不斷地被修正。 進入條件:CONDITION為true; 退出條件:CONDITION為false |
進入條件:CONDITION 為false 退出條件:CONDITION 為true |
循環控制語句: (用于循環體中) |
1、cotinue: continue [N]:提前結束第#層的本輪循環,而直接進入下一輪判斷;最內層為第1層。 2、使用格式: while CONDTIITON1; do CMD1… if CONDITION2; then continue fi CMD# done |
||
1、break: break [N]:提前結束第#層循環,最內層為第1層。 2、使用格式: while CONDTIITON1; do CMD1 if CONDITION2; then break fi CMD# done |
|||
無限循環創建: |
1、while true; do 循環體 done |
||
until false; do 循環體 done |
For語句:
1、判斷/var/目錄下所有文件的類型
腳本代碼:
腳本執行結果:
2、添加10個用戶user1-user10,密碼同用戶名
腳本代碼:
腳本執行效果:
3、/etc/rc.d/rc3.d目錄下分別有多個以K開頭和以S開頭的文件;分別讀取每個文件,以K開頭的文件輸出為文件加stop,以S開頭的文件輸出為文件名加start;如:“K34filename stop”;“S66filename start”
腳本代碼:
腳本執行效果:
4、寫一個腳本,提示輸入正整數n的值,計算1+2+3+…n的總和
腳本代碼:
腳本執行效果:
5、寫一個腳本,提示請輸入網絡地址,如192.168.0.0,判斷輸入的網段中主機在線狀態
腳本代碼:
腳本執行效果:
6、打印九九乘法表
腳本代碼:
腳本執行效果:
While語句:
1、求100以內所有正整數之和
腳本代碼:
腳本執行效果:
2、通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。
腳本代碼:
腳本執行效果:
3、打印九九乘法表
腳本代碼:
腳本執行效果:
4、利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者
腳本代碼:
腳本執行效果:
5、打印國際象棋棋盤
腳本代碼:
腳本執行效果:
until語句:
1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統。
腳本代碼:
腳本執行效果:
2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出
腳本代碼:
腳本執行效果:
3、編寫腳本,求100以內所有正整數之和
腳本代碼:
腳本執行效果:
4、編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。
腳本代碼:
腳本執行效果:
5、編寫腳本,打印九九乘法表
腳本代碼:
腳本執行效果:
6、編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者
腳本代碼:
腳本執行效果:
7、編寫腳本,實現打印國際象棋棋盤
腳本代碼:
腳本執行效果:
8、打印等腰三角形
腳本代碼:
腳本執行效果:
9、安裝centos6.7,用centos6.8kernel升級
掛載CentOS6.8的光盤到CentOS6.7上,將kernel-2.6.32.642版本拷貝到CentOS6.7的目錄上:
安裝kernel-2.6.32.642:
重啟后可以看到該界面:(如果是最小化安裝的CentOS,在開機時需要按↓)
機器重啟完成后,如下圖:
原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/37033