1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      如何在Shell中使用ifelse語句-創(chuàng)新互聯(lián)

      如何在Shell中使用if else語句?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

      創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)德陽電信服務(wù)器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。

      if 語句


      最簡單的用法就是只使用 if 語句,它的語法格式為:


      if condition
      then
        statement(s)
      fi

      condition是判斷條件,如果 condition 成立(返回“真”),那么 then 后邊的語句將會被執(zhí)行;如果 condition 不成立(返回“假”),那么不會執(zhí)行任何語句。


      從本質(zhì)上講,if 檢測的是命令的退出狀態(tài),我們將在下節(jié)《Shell退出狀態(tài)》中深入講解。


      注意,最后必須以fi來閉合,fi 就是 if 倒過來拼寫。也正是有了 fi 來結(jié)尾,所以即使有多條語句也不需要用{ }包圍起來。

      如果你喜歡,也可以將 then 和 if 寫在一行:


      if condition; then
        statement(s)
      fi

      請注意 condition 后邊的分號;,當 if 和 then 位于同一行的時候,這個分號是必須的,否則會有語法錯誤。


      實例1


      下面的例子使用 if 語句來比較兩個數(shù)字的大小:


      #!/bin/bash
      read a
      read b
      if (( $a == $b ))
      then
        echo "a和b相等"
      fi

      運行結(jié)果:
      84↙
      84↙
      a和b相等

      在《Shell (()) 》一節(jié)中我們講到,(())是一種數(shù)學(xué)計算命令,它除了可以進行最基本的加減乘除運算,還可以進行大于、小于、等于等關(guān)系運算,以及與、或、非邏輯運算。當 a 和 b 相等時,(( $a == $b ))判斷條件成立,進入 if,執(zhí)行 then 后邊的 echo 語句。


      實例2


      在判斷條件中也可以使用邏輯運算符,例如:


      #!/bin/bash
      read age
      read iq
      if (( $age > 18 && $iq < 60 ))
      then
        echo "你都成年了,智商怎么還不及格!"
        echo "來C語言中文網(wǎng)(http://c.biancheng.net/)學(xué)習(xí)編程吧,能迅速提高你的智商。"
      fi

      運行結(jié)果:
      20↙
      56↙


      &&就是邏輯“與”運算符,只有當&&兩側(cè)的判斷條件都為“真”時,整個判斷條件才為“真”。

      熟悉其他編程語言的讀者請注意,即使 then 后邊有多條語句,也不需要用{ }包圍起來,因為有 fi 收尾呢。


      if else 語句

      如果有兩個分支,就可以使用 if else 語句,它的格式為:


      if condition
      then
        statement1
      else
        statement2
      fi

      如果 condition 成立,那么 then 后邊的 statement1 語句將會被執(zhí)行;否則,執(zhí)行 else 后邊的 statement2 語句。

      舉個例子:


      #!/bin/bash
      read a
      read b
      if (( $a == $b ))
      then
        echo "a和b相等"
      else
        echo "a和b不相等,輸入錯誤"
      fi

      運行結(jié)果:
      10↙
      20↙
      a 和 b 不相等,輸入錯誤

      從運行結(jié)果可以看出,a 和 b 不相等,判斷條件不成立,所以執(zhí)行了 else 后邊的語句。


      if elif else 語句

      Shell 支持任意數(shù)目的分支,當分支比較多時,可以使用 if elif else 結(jié)構(gòu),它的格式為:


      if condition1
      then
        statement1
      elif condition2
      then
        statement2
      elif condition3
      then
        statement3
      ……
      else
        statementn
      fi

      注意,if 和 elif 后邊都得跟著 then。

      整條語句的執(zhí)行邏輯為:

      • 如果 condition1 成立,那么就執(zhí)行 if 后邊的 statement1;如果 condition1 不成立,那么繼續(xù)執(zhí)行 elif,判斷 condition2。

      • 如果 condition2 成立,那么就執(zhí)行 statement2;如果 condition2 不成立,那么繼續(xù)執(zhí)行后邊的 elif,判斷 condition3。

      • 如果 condition3 成立,那么就執(zhí)行 statement3;如果 condition3 不成立,那么繼續(xù)執(zhí)行后邊的 elif。

      • 如果所有的 if 和 elif 判斷都不成立,就進入最后的 else,執(zhí)行 statementn。

      舉個例子,輸入年齡,輸出對應(yīng)的人生階段:


      #!/bin/bash
      read age
      if (( $age <= 2 )); then
        echo "嬰兒"
      elif (( $age >= 3 && $age <= 8 )); then
        echo "幼兒"
      elif (( $age >= 9 && $age <= 17 )); then
        echo "少年"
      elif (( $age >= 18 && $age <=25 )); then
        echo "成年"
      elif (( $age >= 26 && $age <= 40 )); then
        echo "青年"
      elif (( $age >= 41 && $age <= 60 )); then
        echo "中年"
      else
        echo "老年"
      fi

      運行結(jié)果1:
      19
      成年

      運行結(jié)果2:
      100
      老年

      再舉一個例子,輸入一個整數(shù),輸出該整數(shù)對應(yīng)的星期幾的英文表示:


      #!/bin/bash
      printf "Input integer number: "
      read num
      if ((num==1)); then
        echo "Monday"
      elif ((num==2)); then
        echo "Tuesday"
      elif ((num==3)); then
        echo "Wednesday"
      elif ((num==4)); then
        echo "Thursday"
      elif ((num==5)); then
        echo "Friday"
      elif ((num==6)); then
        echo "Saturday"
      elif ((num==7)); then
        echo "Sunday"
      else
        echo "error"
      fi

      運行結(jié)果1:
      Input integer number: 4
      Thursday

      運行結(jié)果2:
      Input integer number: 9
      error

      看完上述內(nèi)容,你們掌握如何在Shell中使用if else語句的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


      網(wǎng)站名稱:如何在Shell中使用ifelse語句-創(chuàng)新互聯(lián)
      文章鏈接:http://www.ef60e0e.cn/article/gedcp.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        民县| 隆化县| 上杭县| 维西| 柳江县| 竹溪县| 海兴县| 正安县| 江都市| 平果县| 遵义县| 昌吉市| 澄江县| 沂源县| 沐川县| 惠来县| 井研县| 永和县| 方城县| 吕梁市| 荆州市| 清丰县| 宝丰县| 博客| 壤塘县| 临颍县| 高邑县| 梧州市| 彝良县| 洮南市| 嘉黎县| 新郑市| 雅安市| 新丰县| 赞皇县| 吴川市| 平陆县| 阿坝县| 黑水县| 贵港市| 周宁县|