Shell腳本編程之循環(for、while、until)

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一般應該有循環控制變量;而此變量的值會在循環體不斷地被修正。

進入條件:CONDITIONtrue;

退出條件:CONDITIONfalse

進入條件:CONDITION false

退出條件:CONDITION true

循環控制語句:

(用于循環體中)

1、cotinue: continue   [N]:提前結束第#層的本輪循環,而直接進入下一輪判斷;最內層為第1層。

2、使用格式:

while CONDTIITON1; do

CMD1…

if CONDITION2; then

continue

fi

CMD#

done

1break: break [N]:提前結束第#層循環,最內層為第1層。

2、使用格式:

while CONDTIITON1; do

CMD1

if CONDITION2; then

break

fi

CMD#

done

無限循環創建:

1while true; do

循環體

done

until false; do

循環體

done

For語句:

1、判斷/var/目錄下所有文件的類型

腳本代碼:

blob.png

腳本執行結果:

blob.png

blob.png

2、添加10個用戶user1-user10,密碼同用戶名

腳本代碼:

blob.png

腳本執行效果:

blob.png

3/etc/rc.d/rc3.d目錄下分別有多個以K開頭和以S開頭的文件;分別讀取每個文件,以K開頭的文件輸出為文件加stop,以S開頭的文件輸出為文件名加start;如:“K34filename stop”;“S66filename start”

腳本代碼:

blob.png

腳本執行效果:

blob.png

4、寫一個腳本,提示輸入正整數n的值,計算1+2+3+…n的總和

腳本代碼:

blob.png

腳本執行效果:

blob.png

5、寫一個腳本,提示請輸入網絡地址,如192.168.0.0,判斷輸入的網段中主機在線狀態

腳本代碼:

blob.png

腳本執行效果:

blob.png

6、打印九九乘法表

腳本代碼:

blob.png

腳本執行效果: 

blob.png 

While語句:

1、求100以內所有正整數之和

腳本代碼:

blob.png

腳本執行效果:

blob.png

2、通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。

腳本代碼:

blob.png

腳本執行效果:

blob.png

3、打印九九乘法表

腳本代碼:

blob.png

腳本執行效果:

blob.png

4、利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者

腳本代碼:

blob.png

腳本執行效果:

blob.png

5、打印國際象棋棋盤

腳本代碼:

blob.png

腳本執行效果:

blob.png

 

until語句:

1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log,并提示該用戶退出系統。

腳本代碼:

blob.png

腳本執行效果:

blob.png

2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出

腳本代碼:

blob.png

腳本執行效果:

blob.png

3、編寫腳本,求100以內所有正整數之和

腳本代碼:

blob.png

腳本執行效果:

blob.png

4、編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。

腳本代碼:

blob.png

腳本執行效果:

blob.png

5、編寫腳本,打印九九乘法表

腳本代碼:

blob.png

腳本執行效果:

blob.png

6、編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者

腳本代碼:

blob.png

腳本執行效果:

blob.png

7、編寫腳本,實現打印國際象棋棋盤

腳本代碼:

blob.png

腳本執行效果:

blob.png

8、打印等腰三角形

腳本代碼:

blob.png

腳本執行效果:

blob.png

9、安裝centos6.7,centos6.8kernel升級

掛載CentOS6.8的光盤到CentOS6.7上,將kernel-2.6.32.642版本拷貝到CentOS6.7的目錄上:

blob.png

安裝kernel-2.6.32.642

blob.png

重啟后可以看到該界面:(如果是最小化安裝的CentOS,在開機時需要按

blob.png

機器重啟完成后,如下圖:

blob.png

blob.png

原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/37033

(0)
Aaron_wangAaron_wang
上一篇 2016-08-18 10:10
下一篇 2016-08-18 10:10

相關推薦

  • 壓縮、解壓縮及歸檔工具

    壓縮、解壓縮及歸檔工具 縮文件的基本原理是查找文件內的重復字節,并建立一個相同字節的"詞典"文件,并用一個代碼表示,比如在文件里有幾處有一個相同的詞"中華人民共和國"用一個代碼表示并寫入"詞典"文件,這樣就可以達到縮小文件的目的。         &#8212…

    Linux干貨 2016-08-18
  • 馬哥教育網絡班22期+第11周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 Bob先利用單向加密算法提取當前數據的指紋(特征碼),再用自己的私鑰加密數據指紋并附加于數據尾部, 然后利用對稱加密將整個文件加密,之后用Alice的公鑰加密對稱加密密鑰附加于尾部。 Alice收到數據后,先用自己的私鑰解密,得到對稱加密密鑰,之后用對稱加密密鑰解密,然后用Bob的公鑰 解密得到數據指紋,并且驗…

    Linux干貨 2016-11-14
  • 安裝CentOS6.8操作系統

        工具:     VMware Workstation 12     http://www.vmware.com/cn/products/workstation/workstation-evaluation.html  &n…

    Linux干貨 2016-08-04
  • 學習札記:用戶管理,權限管理和ACL歡樂”斗地主”

    補充:touch /etc/nologin 啟動系統維護功能,其他用戶不能登陸,除了管理員,可以自定義內容,在普通用戶登陸的時候可以看到相關維護提示,解除維護模式的話,必須要刪除該文件,另外可以創建/run/nologin達到相同的效果(僅限于CentOS 7), 用戶屬性修改 usermod [OPTION] login -u UID: 新UID -g G…

    Linux干貨 2016-08-04
  • 一切皆文件

    Linux Linux內一切皆文件;表現之一:硬件設備也通過文件表示 物理終端:/dev/console 虛擬終端: /dev/tty#[1,6] 串行終端:/dev/ttyS# 偽終端: /dev/pts/# 注意:在啟動設備之后,在其上關聯一個用戶接口程序,即可實現與用戶交互,交互式程序有兩類:GUI(圖形化界面)和CLI(命令行界面)。 查看終端設備:…

    Linux干貨 2017-04-01
  • RPM程序包管理

           RPM的全名“RedHat Package Manager”,當初這個是RedHad公司開發的一款程序包管理套件,隨著RPM的不斷完善,RPM逐漸成為眾多linux發行版程序包管理器的代名詞,那什么是RPM,為什么會用到RPM這個程序包管理工具那,接下來我一一揭曉。  &nb…

    Linux干貨 2015-11-04
欧美性久久久久