十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      如何在bash shell腳本中使用C語言風格的for命令?

      百恒網絡 2017-08-22 6371

      如果您從事過C語言編程方面的工作,那么您可能會對bash shell中for命令的工作方式有點驚奇。在C語言中, for循環通常定義一個變量,然后這個變量會在每次迭代時自動改變。通常程序員會將這個變量用作計數器,并在每次迭代中讓計數器增一或減一。bash的for命令也提供了這個功能。今天,南昌網絡公司小編重點教大家如何在bash shell腳本中使用C語言風格的for命令,下面就一起跟隨小編的步伐來看看!

      C語言的for命令有一個用來指明變量的特定方法,一個必須保持成立才能繼續迭代的條件, 以及另一個在每個迭代中改變變量的方法。當指定的條件不成立時,for循環就會停止。條件等式通過標準的數學符號定義。比如,考慮下面的C語言代碼:

      for (i = 0; i < 10; i++)

      {

      printf("The next number is %dn", i);

      }

      這段代碼產生了一個簡單的迭代循環,其中變量i作為計數器。第一部分將一個默認值賦給該變量。中間的部分定義了循環重復的條件。當定義的條件不成立時,for循環就停止迭代。 后一部分定義了迭代的過程。在每次迭代之后,后一部分中定義的表達式會被執行。在本例中,i變量會在每次迭代后增一。

      bash shell也支持一種for循環,它看起來跟C語言風格的for循環類似,但有一些細微的不同,其中包括一些讓shell腳本程序員困惑的東西。以下是bash中C語言風格的for循環的基本格式。

      for (( variable assignment ; condition ; iteration process ))

      C語言風格的for循環的格式會讓bash shell腳本程序員摸不著頭腦,因為它使用了C語言風格的變量引用方式而不是shell風格的變量引用方式。C語言風格的for命令看起來如下:

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

      注意,有些部分并沒有遵循bash shell標準的for命令:

      1、變量賦值可以有空格;

      2、條件中的變量不以美元符開頭;

      3、迭代過程的算式未用expr命令格式。

      shell開發人員創建了這種格式以更貼切地模仿C語言風格的for命令。這雖然對C語言程序員來說很好,但也會把專家級的shell程序員弄得一頭霧水。在腳本中使用C語言風格的for循環時要小心。

      以下是在bash shell程序中使用C語言風格的for命令的一個例子,大家認真看一下:

      $ cat test8

      #!/bin/bash

      # testing the C-style for loop

      for (( i=1; i <= 10; i++ ))

      do

      echo "The next number is $i"

      done

      $ ./test8

      The next number is 1

      The next number is 2

      The next number is 3

      The next number is 4

      The next number is 5

      The next number is 6

      The next number is 7

      The next number is 8

      The next number is 9

      The next number is 10

      $

      for循環通過定義好的變量(本例中是變量i)來迭代執行這些命令。在每次迭代中,$i變量包含了for循環中賦予的值。在每次迭代后,循環的迭代過程會作用在變量上,在本例中,變量增一。

      以上就是南昌網絡公司小編為大家介紹的如何在bash shell腳本中使用C語言風格的for命令的方法,是不是感覺很簡單呢?如果大家還有哪些不明白的地方,可隨時來電和我們聯系,百恒專業為您解答!


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      中文字幕精品视频在线观| 香蕉依依精品视频在线播放| 2020国产精品永久在线观看| 中文字幕在线亚洲精品| 亚洲精品无码99在线观看| 日韩亚洲Av人人夜夜澡人人爽| 尤物国午夜精品福利网站| 国产精品玖玖玖在线观看| 亚洲区精品久久一区二区三区| 人妻精品久久久久中文字幕69| 亚洲国产精品无码久久SM| 国产精品无码日韩欧| 国产成人A∨麻豆精品| 久久精品无码一区二区三区日韩 | 国产精品久久毛片完整版| 久久精品亚洲中文字幕无码麻豆| 亚洲AV无码精品色午夜在线观看| 国语自产偷拍精品视频偷蜜芽| 精品国产免费人成网站| 国产精品va久久久久久久| 2022年国产精品久久久久| 亚洲精品无码久久久久AV麻豆| 日韩精品一区二区三区不卡| 婷婷国产成人精品一区二| 一区二区三区久久精品| 香蕉依依精品视频在线播放| 色精品一区二区三区| 激情啪啪精品一区二区| 午夜精品一区二区三区在线视| 日韩伦理片电影在线免费观看| 日韩a无吗一区二区三区| 日韩不卡中文字幕| 精品一区二区三区水蜜桃| 亚洲精品国产高清不卡在线| 亚洲精品一级无码鲁丝片| 国产精品亚洲产品一区二区三区| 国产精品婷婷午夜在线观看 | 国产成人精品一区二区三区免费 | 日韩国产精品99久久久久久| 精品久久亚洲一级α| 国内精品videofree720|