Shell篇(2)-條件語句if及循環語句 for , while , unti

 if 條件語句:


    介紹及作用 : 根據指定的條件來判斷其“真”(TRUE)、“假”(FALSE),根據邏輯計算的真假值,從而返回相應的內容。


 按結構分類可分爲3類:


  1. 單分支結構:

      

      語法格式:

      if   條件測試          

      then

             命令

      fi

      例 : 給 x, y賦值 , 測試x , y 是否相等 , 相等則輸出true

         image.png

      由圖可看出 , 複製給變量x , y同意的值 , 用if語句來判斷 , 輸出的結果爲true, 之後賦給y一個不同值的時候 , 輸出結果爲無


  

  2. 雙分支結構:

      

      語法格式:

      if   條件測試

      then

             命令

      else

             命令

      fi

      例 : 按照上面的例子 , 給 x, y賦值 , 測試x , y 是否相等 , 相等則輸出true , 不相等則輸出 false

         image.png

      由圖可看出 , 複製給變量x , y同意的值 , 用if語句來判斷 , 輸出的結果爲true, 之後賦給y一個不同值的時候 , 輸出結果爲false


  3. 多分支結構:

      

      語法格式:

      if   條件測試

      then

             命令

      elif   條件2 

      then 

             命令

      else

             命令

      then 

      fi

      例 : 猜測 x 值的大小 , 創建一個名爲 /sh/cai.sh 的腳本 , 使用vim編輯這個文件 , 在裏面寫入命令 :

         image.png

        (read  -p  表示提示輸入字符)

         image.png

       運行腳本後 , 可以看出當輸入123時 , 顯示的是 you are right ;  輸入大於123的數字時 , 顯示的是 this number is big; 輸入小於123的數值時 , 顯示的是 this number is little ;




 for循環語句:

     

    功能 : 在滿足條件的情況下 , 重複執行某些命令的操作


    結構:

    

     for  i  in  值1  值2   值3   ...   值n

     do

          命令列表

     done


     例 : 編寫一個名爲 /sh/mkdir.sh 的腳本文件 , 要求批量創建 /test/m1~/test/m6 這些目錄 , 腳本內容如下 :

        image.png

        運行腳本 : 

        image.png




 while循環語句:


    功能 : 在滿足條件時 , 重複的執行腳本中while語句中的 do 和 done 中間的命令循環體命令 ,直到條件不滿足時就停止循環


   語法格式:

     

     while   條件測試

     do

          命令循環體

     done 

  

    例 :在命令行中執行命令 , 實現輸出10以內的正整數

        image.png


  while死循環(無限循環):

     

    語法格式 : 

    

     while  :

     do

          命令循環體

     done


    例 : 執行如下while死循環語句,實現每隔2秒輸出echo命令的中的文本內容。[按ctrl+c強制終止死循環]

        image.png

        執行語句後 , 系統會每隔2S輸出"I love you !"




  until循環語句:

    

     功能 : 和while意思相反 ,即重複的執行腳本中until語句中的 do 和 done 中間的命令循環體命令 ,直到條件滿足時就停止循環


    語法格式:


     until   條件測試

     do

          命令循環體

     done


     例 : 在命令行中執行如下操作,實現用until循環來輸出1~10這些數

         image.png




  實例一 : 編寫 1 + 2 + 3 + 4 +  ..  +100 的和的腳本

        

        方法一 : 

        image.png

        方法二 :

        image.png

        方法三 : 

        image.png

        方法四 : 

        image.png




  嵌套循環 :循環體中可嵌套多個循環


      例: 編寫九九乘法表

      image.png

      

        

        

          


       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章