循環語句for、while、until

作用:

   循環語句的作用是它可以讓一段代碼重復的執行,直到所需條件不滿足為止。

在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:

根據選項批量創建用戶、刪除用戶

for循環1.png

for循環2.png   

舉例演示2:  

打印九九乘法表

for九九表.png

舉例演示3:

打印國際象棋棋盤

for象棋盤.png

for循環的特殊用法:

格式:

  for ((控制變量初始化;控制條件判斷表達式;控制變量的修正語句))

        ①           ②            ③

 do

       循環體

        ④

 done

解釋:

   控制變量初始化:僅在循環代碼開始運行時執行一次

   控制條件判斷表達式:是指給定的進入和退出判斷條件,這里的條件判斷直接使用> < = 這些符號就可以了 例如:i<=100

   控制變量的修正語句:每輪循環結束會先進行控制變量的修正運算,而后再做條件測試。

執行的順序是:①–②–③–④–③–②…   當②判斷為假時退出

舉例演示1

求10以內的所有正整數之和

for正整數之和.png

舉例演示2

打印九九乘法表

for九九表2.png

while循環:

格式:

   while 條件 ;do

      循環體

     循環控制變量修正表達式  

   done

while循環的進入與退出條件

   進入條件:條件測試為真時進入循環

   退出條件:條件測試為假時結束循環

累加的功能:可以實現把一個數字列表的值依次加到某一個變量原有的值之上,從而能求出指定范圍內的整數之和。

exit命令:退出整個腳本

舉例演示:

通過ping命令測試出10.1.252.0這個網段所有主機的在線狀態

while ping腳本.png

舉例演示2:

打印國際象棋棋盤

while 象棋.png

while循環的特殊用法 (遍歷文件的每一行)

 格式:

   while read 變量;do

     循環體

   done < /PATH/FROM/SOMEFILE

執行的方式為:依次讀取/PATH/FROM/SOMFILE文件的每一行,且將其賦值給變量

舉例演示:

顯示出系統中所有用戶名及所對應的shell,并計算總用戶數

while特殊用法.png

until 循環:

  格式:

    until 條件;do

        循環體

      循環控制變量的修正表達式

    done

until的進入和退出條件:

    進入條件:條件測試為假使進入循環

   退出條件:條件測試為真時結束循環

until循環的與while循環正好相反

舉例演示:

用until循環打印九九乘法表

until循環九九.png

計算100以內的偶數之和,基數之和

偶數:

until偶數之和.png

基數:

until 基數之和.png

循環控制語句:

continue命令

 continue:提前結束本輪循環,而直接進入下一輪循環判斷,不應該寫在循環的最后,沒有意義

 continue是當循環中遇到它就不執行它以下的操作了,而是直接返回到指定的層繼續循環

 continue后面也可以跟數字,表示結束本輪循環后跳至哪一層的循環,數字的大小是從內層往外數,

 例如:continue 2 表示結束本輪循環后直接退回到最內層往外數的第二層開始循環。

break命令

 break是提前跳出循環,直接結束整個循環,去執行循環以下的操作,可以寫在循環的任何位置

sleep命令:可以讓腳本的睡眠一會在執行,后可跟數字,默認一秒為單位,表示多少秒后再執行腳本,可以設置天,小時等等

            

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

(0)
ZJMZJM
上一篇 2016-08-22 08:44
下一篇 2016-08-22 08:44

相關推薦

  • 詳解Linux下用戶和組的配置文件

    本文將介紹Linux下用戶和組的概念及相關配置文件,通過本文,能更好的認識/etc/pssswd ,/etc/group,以及UID、GID的概念,最后將通過修改用戶配置文件來實現用戶和組的管理工作,對Linux的多任務、多用戶有一個更清楚的認識。 一、用戶(USER) 在LInux上用戶的管理工作是通過修改相關的配置文件來實現的,在日常的工作中主要包含對用…

    Linux干貨 2016-10-23
  • find命令的基本用法

     linux 中find 常用示例解析 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]    其實[-H] [-L] [-P] [-D debugopts] [-Olevel]這幾個選項并不常用(至少在我的日常工作中,沒 &…

    Linux干貨 2016-05-05
  • CentOS 7源碼安裝httpd服務

    httpd的簡介     httpd是一個開源軟件,且一般用作web服務器來使用。目前最流行的web服務器軟件叫做httpd,httpd還有一個俗稱叫apache,Apache是一個軟件基金會,httpd也是這個軟件基金會的一個項目。在早期的http server就叫做apache,到了http server 2.0以…

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

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who | tr -s [[:space:]] | cut -d" " -f1 | sort -u [root@localhost cdrom]# who root     pts/1     &…

    Linux干貨 2016-09-07
  • N22-妙手-第五周博客作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,…

    Linux干貨 2016-09-19
  • N22-第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]# fd…

    Linux干貨 2016-10-07
欧美性久久久久