循環語句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
下一篇 2016-08-22

相關推薦

  • N25-第三周作業

    N25第三周作業 博客作業 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@ip-172-31-25-9 ~]# who|awk '{print $1}'|sort -u ec2-user [root@ip-172-31-25-9&n…

    Linux干貨 2017-02-06
  • 軟件包管理

    軟件運行與編譯過程:程序源代碼——預處理——-編譯——-匯編——-鏈接 靜態編譯:.a 動態編譯:.so 二進制程序的組成:二進制文件、庫文件、配置文件、幫助文件。 包的命名:1、源代碼:name -VERSION.tar.gz或bz2或xz   &nb…

    Linux干貨 2017-04-23
  • yum初步入門

                             yum工具是為提高RPM軟件安裝性而開發的一種軟件包管理器,是由pyt…

    Linux干貨 2015-04-01
  • sed命令用法

    sed命令 [option]  “script”  file sed命令是一種行編輯工具,他是逐行對文件進行編輯。sed命令有一個模式空間,他將一行命令讀取進模式空間進行編輯,完成后將本行數據打印再讀取下一行數據進行處理。 option: -n:靜默模式不顯示模式空間內容 -f:從指定文件中讀取 -i:修改源文件(-i.###會自動將原文…

    Linux干貨 2016-08-12
  • Mariadb基于ssl的主從復制

    Mariadb基于ssl的主從復制 一、前言 備份數據庫是生產環境中的首要任務,重中之重。一般配置中mariadb的主從傳輸是明文傳輸,但是有時候對一些特殊業務來說是不允許的,為了保證數據在傳輸過程中的安全性,因此使用基于SSL的復制會大大加強數據的安全性。 二、準備工作 1、實驗系統環境: CentOS7.2,SELinux關閉,iptables關閉,安裝…

    Linux干貨 2017-02-24
  • 什么是網站流量、UV、PV、IP

    什么是網站流量,什么叫網站流量?     通常說的網站流量(traffic)是指網站的訪問量,是用來描述訪問一個網站的用戶數量以及用戶所瀏覽的網頁數量等指標,常用的統計指標包括網站的獨立用戶數量、總用戶數量(含重復訪問者)、網頁瀏覽數量、每個用戶的頁面瀏覽數量、用戶在網站的平均停留時間等。     …

    Linux干貨 2015-03-20
欧美性久久久久