<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # **一、條件表達式** ## **1.語法介紹** | 表達式 | 說明 | | --- | --- | | test 表達式 | test命令進行條件測試| | [ 表達式 ] | 單中括號方式,功能同test命令,推薦| | [[ 表達式 ]] | 雙中括號,前兩種的升級版| | ((表達式)) | 雙小括號,一般用于if語句| > 雙中括號可以使用通配符 &&、||、<、>等可以用于雙中括號,不能用于單中括號 單中括號中用-a、-o、-gt、-lt代替 整數的關系運算也可以用雙小括號 中括號里表達式前后都需要有空格 ## **2.用法和小結** ### 1) 普通用法 ``` test -f /etc/passwd && echo 1 || echo 0 [ -f /etc/passwd ] && echo 1 || echo 0 [[ -f /etc/passwd ]] && echo 1 || echo 0 ((3>2)) && echo 1 || echo 0 ``` 可以只寫一半的條件語句,例如只寫為真、為假時怎么操作 ``` test -f /etc/passwd && echo 1 test -f /etc/passwd || echo 0 ``` ### 2) 擴展用法 如果需要執行的命令有多條,可以用下面的擴展語法 ``` [ 條件1 ] &&{ 命令1 命令2 命令3 } ``` # **二、文件測試操作符** ## **1. 文件操作符介紹** | 操作符 | 操作符說明 | | --- | --- | |-d |文件存在且為目錄| |-f |文件存在且為普通文件| |-e |文件存在,不管是什么文件類型| |-r |文件存在且可讀| |-w |文件存在且可寫| -x |文件存在且可執行| |-s |文件存在且大小不為0| |-L |文件存在且為鏈接文件| |f1 -nt -f2 |前面的文件比后面的文件新| |f1 -ot -f2 |前面的文件比后面的文件舊| > 以上文件操作符對[]、[[]]、test三者通用 讀寫執行權限并不全看文件屬性,而是要結合實際用戶,如root在沒有讀寫權限時也能讀寫 ## **2. 應用舉例** ``` [ -f /etc/passwd ] && echo 1||echo 0 [ -d /etc/passwd ] && echo 1||echo 0 [ -e /etc/passwd ] && echo 1||echo 0 [ -r /etc/passwd ] && echo 1||echo 0 [ -x /etc/passwd ] && echo 1||echo 0 [ -w /etc/passwd ] && echo 1||echo 0 [ -L /etc/passwd ] && echo 1||echo 0 ``` # **三、字符串測試操作符** ## **1. 操作符介紹** | 操作符 | 操作符說明 | | --- | --- | |-n "字符串" |若字符串長度不為0則表達式成立| |-z "字符串" |若字符串長度為0則表達式成立| |"串1" = "串2" |若字符串1等于字符串2則表達式成立| |"串1" != "串2" |若字符串1不等于字符串2則表達式成立| >對字符串的測試一定要將字符串加雙引號后再比較 比較符號(如=和!=)兩端一定要有空格 ## **2. 簡單案例演示** ``` [ -n "" ] && echo 1 || echo 0 [ -z "" ] && echo 1 || echo 0 [ "abc" = "abc" ] && echo 1 || echo 0 [ "abc" != "abc" ] && echo 1 || echo 0 ``` # **四、整數比較操作符和邏輯操作符** ## **1. 操作符介紹** | []和test中 | (())和[[]]中 | 說明| | --- | --- | --- | | -eq| ==或=| 等于 (equal)| | -ne| != | 不等于 (not equal)| | -gt | > | 大于 (greater than)| | -ge| >= | 大于等于 (greater equal)| | -lt | < | 小于 (less than)| | -le| <= | 小于等于 (less equal)| > =和!=也可以在[]中做比較實用,但是需要轉義 -gt和-lt也能在[[]]中使用,但不建議 比較符號兩端也要有空格 ## **2. 邏輯操作符介紹** | []和test中 | (())和[[]]中 | 說明| | --- | --- | --- | | -a | && | and,與 | | -o |` || ` | or,或 | | ! | ! | not,非 | > `連接兩個[]或[[]]的表達式可以用&&或||` -a和&&,需要兩端為真才為真 -o和||,只需要任意一段為真就為真` ### **3.[]、[[]]、(())用法小結** ![[]、[[]]、(())用法總結](https://www.github.com/noah-luo/imags/raw/master/year/1544705211920.png)
                  <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>

                              哎呀哎呀视频在线观看