<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                總第3篇 幾乎所有的編程語言中都有流程控制的概念,即順序結構、選擇結構和循環結構。 選擇結構也稱分支結構,比如C類語言中的**if**和 **switch**語句。 ## if的條件 前面我已經講過了test表達式及其簡化版 [? ] 運算符的使用,這些判斷的語句即可作為if結構的條件。 Bash shell中我們可以使用的任何能夠有真假判斷功能的命令(無論是內部命令,還是外部命令)都可以作為判斷的條件。 **注意if和[ ]之間要有空格。if [ ... ]** ## 基本結構 Bash中的if同樣支持與if配對的else 和 else if的概念,只不過,else if在這里寫法是 elif。 if語句基本結構是這樣: ~~~ if <條件1> then 語句1 elif <條件2> 語句2 elif <條件...> 語句... else 語句n fi ~~~ 注意if語句中并無尖括號< >。用你的條件表達式來替換掉 <條件> 這部分。 實際根據你的需要使用elif和else。因為Bash不同于C語言,他沒有使用花括號來閉合一個作用域的寫法。Bash的if語句閉合作用域使用的是 if 的“反語”——fi。 這是個有趣的現象,之后我們還會見到類似的寫法。 關于 then,if的條件后面都需要加一個保留字then。你也可以把它們寫作同一行,但是需要注意的是要用分號來分隔,這些bash解釋器才知道then不是if條件的一部分。否則會報錯。 ~~~ if <條件>;then ~~~ ## 寫法舉例 ### test及 [? ]條件 輸入一個數字,并判斷是否小于100 ~~~ #!/bin/bash read -p "請輸入一個數字:" a if [ $a -lt 100 ] then echo "a<100" else echo "a>=100" fi ~~~ 判斷當前目錄下一個文件是否存在,若存在判斷是否為目錄文件。 ~~~ #!/bin/bash read -p "請輸入一個文件名:" name if [ -e $name ] then echo -n "$name存在," if [ -d $name ] then echo "并且是一個目錄" else echo "但不是一個目錄" fi else echo "$name不存在" fi ~~~ ### 其他命令作為條件 判斷當前環境中是否安裝了某一命令。 ~~~ #!/bin/bash read -p "請輸入一個命令:" var if which $var>/dev/null then echo "$var存在" else echo "$var不存在" fi ~~~ 這個腳本,我命名為var.sh,請看它的執行結果 ![](https://box.kancloud.cn/2016-02-19_56c6cdb245c27.jpg) 另外還有一點要注意。在c語言中,0為假,非0為真。而在Bash中正好相反。 不信你就在終端執行一下,which pwd這個命令。然后再使用 echo $?看看這個命令的執行狀態(或者理解為返回值)。 可以發現,echo $?的結果是0。而執行了which delete這個命令,再使用echo $?可以發現它的輸出是1。 ![](https://box.kancloud.cn/2016-02-19_56c6cdb25c1e5.jpg) 當然了,除了which以外還有許多內部或外部的命令可以和 if 結構組合使用,和外部命令的無縫集成是Bash以及其他Shell強大的基礎。 ## if與邏輯表達式 與其他語言一樣,Bash中的if同樣可以和 與或非 組合使用。并且通過結合內部或外部的命令一起使用,能夠達到其他語言達不到的效果。 比如: ~~~ if [ -e $filename ] && rm $filename then echo "$filaname 不存在!" fi ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看