十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
      小程序
      tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)微信小程序

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      介紹for循環(huán)中continue命令的用法

      百恒網(wǎng)絡(luò) 2017-09-05 14271

      for循環(huán)中continue命令可以提前中止某次循環(huán)中的命令,但并不會(huì)完全終止整個(gè)循環(huán)。可以在循環(huán)內(nèi)部設(shè)置shell不執(zhí)行命令的條件。為了讓大家能夠?qū)ontinue命令的用法更加了解,下面南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)在這里就簡(jiǎn)單舉個(gè)在for循環(huán)中使用continue命令的例子。

      $ cat test21

      #!/bin/bash

      # using the continue command

      for (( var1 = 1; var1 < 15; var1++ ))

      do

      if [ $var1 -gt 5 ] && [ $var1 -lt 10 ]

      then

      continue

      fi

      echo "Iteration number: $var1"

      done

      $ ./test21

      Iteration number: 1

      Iteration number: 2

      Iteration number: 3

      Iteration number: 4

      Iteration number: 5

      Iteration number: 10

      Iteration number: 11

      Iteration number: 12

      Iteration number: 13

      Iteration number: 14

      $

      當(dāng)if-then語(yǔ)句的條件被滿足時(shí)(值大于5且小于10),shell會(huì)執(zhí)行continue命令,跳過(guò)此 次循環(huán)中剩余的命令,但整個(gè)循環(huán)還會(huì)繼續(xù)。當(dāng)if-then的條件不再被滿足時(shí),一切又回到正軌。

      也可以在while和until循環(huán)中使用continue命令,但要特別小心。記住,當(dāng)shell執(zhí)行 continue命令時(shí),它會(huì)跳過(guò)剩余的命令。如果你在其中某個(gè)條件里對(duì)測(cè)試條件變量進(jìn)行增值,問(wèn)題就會(huì)出現(xiàn)。

      $ cat badtest3

      #!/bin/bash

      # improperly using the continue command in a while loop

      var1=0

      while echo "while iteration: $var1"

      [ $var1 -lt 15 ]

      do

      if [ $var1 -gt 5 ] && [ $var1 -lt 10 ]

      then

      continue

      fi

      echo " Inside iteration number: $var1"

      var1=$[ $var1 + 1 ]

      done

      $ ./badtest3 | more

      while iteration: 0

      Inside iteration number: 0

      while iteration: 1

      Inside iteration number: 1

      while iteration: 2

      Inside iteration number: 2

      while iteration: 3

      Inside iteration number: 3

      while iteration: 4

      Inside iteration number: 4

      while iteration: 5

      Inside iteration number: 5

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      while iteration: 6

      $

      你得確保將腳本的輸出重定向到了more命令,這樣才能停止輸出。在if-then的條件成立之前,所有一切看起來(lái)都很正常,然后shell執(zhí)行了continue命令。當(dāng)shell執(zhí)行continue命令時(shí),它跳過(guò)了while循環(huán)中余下的命令。不幸的是,被跳過(guò)的部分正是$var1計(jì)數(shù)變量增值的地方, 而這個(gè)變量又被用于while測(cè)試命令中。這意味著這個(gè)變量的值不會(huì)再變化了,從前面連續(xù)的輸出顯示中你也可以看出來(lái)。

      和break命令一樣,continue命令也允許通過(guò)命令行參數(shù)指定要繼續(xù)執(zhí)行哪一級(jí)循環(huán):

      continue n

      其中n定義了要繼續(xù)的循環(huán)層級(jí)。下面南昌百恒網(wǎng)絡(luò)繼續(xù)為大家介紹外部for循環(huán)的例子。

      $ cat test22

      #!/bin/bash

      # continuing an outer loop

      for (( a = 1; a <= 5; a++ ))

      do

      echo "Iteration $a:"

      for (( b = 1; b < 3; b++ ))

      do

      if [ $a -gt 2 ] && [ $a -lt 4 ]

      then

      continue 2

      fi

      var3=$[ $a * $b ]

      echo " The result of $a * $b is $var3"

      done

      done

      $ ./test22

      Iteration 1:

      The result of 1 * 1 is 1

      The result of 1 * 2 is 2

      Iteration 2:

      The result of 2 * 1 is 2

      The result of 2 * 2 is 4

      Iteration 3:

      Iteration 4:

      The result of 4 * 1 is 4

      The result of 4 * 2 is 8

      Iteration 5:

      The result of 5 * 1 is 5

      The result of 5 * 2 is 10

      $

      其中的if-then語(yǔ)句:

      if [ $a -gt 2 ] && [ $a -lt 4 ]

      then

      continue 2

      fi

      此處用continue命令來(lái)停止處理循環(huán)內(nèi)的命令,但會(huì)繼續(xù)處理外部循環(huán)。注意,值為3的那次迭代并沒有處理任何內(nèi)部循環(huán)語(yǔ)句,因?yàn)楸M管continue命令停止了處理過(guò)程,但外部循環(huán)依 然會(huì)繼續(xù)。

      以上就是南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)為大家介紹的關(guān)于for循環(huán)中continue命令的用法,通過(guò)以上例子,大家是不是覺得很簡(jiǎn)單呢?確實(shí),只要用心,是真的很簡(jiǎn)單!如果大家還有哪些不懂得地方,可隨時(shí)來(lái)電和我們聯(lián)系。此外,本公司專業(yè)從事網(wǎng)站建設(shè)、APP開發(fā)、微信開發(fā)等服務(wù),如有需要,歡迎大家來(lái)電咨詢,洽談合作!


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)小程序

      歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      国产麻豆一精品一AV一免费| 亚洲国产精品一区二区九九| 国产成人精品日本亚洲直接| 一本大道久久a久久精品综合| 99精品国产综合久久久久五月天| 精品多毛少妇人妻AV免费久久 | 中文字幕日韩一区二区不卡| 欧美日韩亚洲精品| 精品国产一二三产品价格| 久久精品国产第一区二区三区| 久久九九99热这里只有精品| 国产精品视频色拍拍| 精品一区二区久久久久久久网站| 任你躁在线精品免费| 91精品成人免费国产| 香蕉在线精品一区二区| 国产午夜福利精品久久| 久久久精品人妻无码专区不卡| 亚洲精品tv久久久久| 亚洲国产成人久久精品99| 成人精品综合免费视频| 日韩一区二区三区在线精品| 免费视频精品一区二区| 牛牛在线精品观看免费正| 四虎影视永久在线精品| 亚洲av无码成人精品区在线播放| 亚洲国产精品无码久久九九 | 2021午夜国产精品福利| 91久久亚洲国产成人精品性色| 91国语精品自产拍在线观看一| 久视频精品免费观看99| 精品人妻一区二区三区浪潮在线| 最新69堂国产成人精品视频| 91精品国产91久久久久久青草| 亚洲国产精品专区| 99在线精品免费视频九九视| 国自产拍 高清精品| 国自产精品手机在线视频香蕉 | 国产成人精品高清不卡在线| 国产精品内射久久久久欢欢| 久久精品无码一区二区app|