<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 表達式 2)[ 測試表達式 ] 推薦的一種 3) [[ 測試表達式 ]] 4) (( 測試表達式 )) 注意: 1)[[ ]](雙中括號)中可以使用通配符進行模式匹配 ,&& || > <操作符可以應用到[[ ]] 2) -a -o -gt -lt -eq -le等一般用在單中括號里 3)對于整數的關系運算,一樣用(( )) 案例1: [root@fenfa day04]# test -f /tmp/yuki.txt || mkdir /tmp/yuki.txt [root@fenfa day04]# char=" " [root@fenfa day04]# test -z "$char" && echo 1 || echo 0 0 案例2: 【】的使用 [root@fenfa day04]# [ -f /tmp/yuki01 ] || touch /tmp/yuki01 [root@fenfa day04]# [ -f /tmp/yuki01 ] && echo True || echo False True && : 表達式前面為真,就執行后面的,如果為假,就不執行后面的 || : 表達式前面為假,就執行后面的,如果為真,就不執行后面的 ![](https://box.kancloud.cn/8395465f5b37f521082e3dd865a918a5_548x227.png) 二) 文件測試操作符 -f 文件 判斷文件是否存在 -d目錄 判斷目錄是否存在 -l 文件 判斷文件是否為鏈接文件 -r 文件 判斷文件是否可讀 -w 文件 判斷文件是否可寫 -x文件 判斷文件是否可執行 (執行腳本的用戶,對這個文件,是否可讀、寫、執行) -s文件 判斷文件大小是否為0 不為0為真 案例: [root@fenfa tmp]# touch yuki02.txt [root@fenfa tmp]# [ -f /tmp/yuki02.txt ] && echo True || echo False True 判斷文件是否存在,存在則輸出為true,不存在為false [root@fenfa tmp]# mkdir louis You have mail in /var/spool/mail/root [root@fenfa tmp]# [ -f louis ] && echo 1 || echo 0 0 (因為剛剛創建的是目錄,這個-f判斷是文件) [root@fenfa tmp]# [ -d /tmp/louis ] && echo 1 || echo 0 1 [root@fenfa tmp]# ll -l yuki02.txt -rw-r--r-- 1 root root 0 Jan 25 00:12 yuki02.txt (權限: rw r r) [root@fenfa tmp]# [ -r /tmp/yuki02.txt ] && echo 1 || echo 0 1 (root可以運行,可讀) You have mail in /var/spool/mail/root [root@fenfa tmp]# [ -w /tmp/yuki02.txt ] && echo 1 || echo 0 1 (root用戶運行,可寫) [root@fenfa tmp]# su - www welcome 1000,you home is /home/www,please don't delete file [www@fenfa ~]$ [ -w /tmp/yuki02.txt ] && echo 1 || echo 0 0 (其他用戶,www用戶執行腳本,就沒有寫權限) [www@fenfa ~]$ exit logout [root@fenfa tmp]# [ -x /tmp/yuki02.txt ] && echo 1 || echo 0 0 (root用戶沒有執行權限) (說明: 運行腳本的用戶,對這個文件是否有讀寫執行權限) 當表達式成立,也可以執行多個語句 [ 測試表達式 ] && { 語句1 語句2 語句3 ..... } 三)字符串操作符 功能: 1)比較2個字符串是否相同 2)測試字符串長度是否為0 -z “字符串” 字符串長度是否為空(0),空者為真 -n “字符串” 字符串長度是否不為空(不為0),非空者為真 “字符串1” =“字符串2” 字符串1是否等于字符串2,等于者為真 “字符串1” !=“字符串2” 字符串1是否不等于字符串2,不等于者為真 注意: 1)字符串或者字符串變量一定要加雙引號 2) = != 的兩端一定要個空格 [root@fenfa tmp]# var="/tmp/yuki01" You have mail in /var/spool/mail/root [root@fenfa tmp]# [ -z "$var" ] && echo 1 || echo 0 0 [root@fenfa tmp]# var1="" [root@fenfa tmp]# [ -z "$var1" ] && echo 1 || echo 0 1 (-z: 字符串空為真) [root@fenfa day04]# [ "`netstat -tunlp|grep 22|awk -F "[ :]+" 'NR==1{print $5}'`" = "22" ] && echo 1 || echo 0 1 三) 整數比較操作符 ![](https://box.kancloud.cn/d2de3cff2cba8dea1b136622b135b37d_1053x266.png) 注意:在單中括號里,使用-gt -ge -le -lt -eq -ne等 [root@fenfa tmp]# [ "`ps -ef|grep sshd|wc -l`" -gt 1 ] && echo 1 || echo 0 1 [root@fenfa day04]# [ 5 > 2 ] && echo 1 || echo 0 1 [root@fenfa day04]# [ 5 -gt 2 ] && echo 1 || echo 0 1 [root@fenfa day04]# [[ 5 > 2 ]] && echo 1 || echo 0 1 You have mail in /var/spool/mail/root [root@fenfa day04]# [[ 5 -gt 2 ]] && echo 1 || echo 0 1 (不建議在雙中括號里,使用-gt,-le等) 四)邏輯操作符 ![](https://box.kancloud.cn/f2d36d3125d2b1eb4f80a45247982a25_1050x150.png) [root@fenfa day04]# [ -f /etc/hosts -a -f /etc/service ] && echo 1 || echo 0 0 You have mail in /var/spool/mail/root [root@fenfa day04]# [ -f /etc/hosts -a -f /etc/services ] && echo 1 || echo 0 1 [root@fenfa day04]# [[ -f /etc/hosts && -f /etc/services ]] && echo 1 || echo 0 1 &&: 只有左右兩邊都為1的時候,結果才為真 一般可以作為短路操作符 &&: 只有前面為真(1),后面的才會被執行 ||: 只有前面為假(0),后面才會被執行 [root@fenfa day04]# f1=/etc/rc.local You have mail in /var/spool/mail/root [root@fenfa day04]# f2=/etc/fstab [root@fenfa day04]# [ -f "$f1" -a -f "$f2" ] && echo 1 || echo 0 1 [root@fenfa day04]# [[ -f "$f1" && -f "$f2" ]] && echo 1 || echo 0 1 (在雙中括號里,一定要用&&,||, 在單中括號里要用-a -o) [root@fenfa day04]# [ -z "$f1" -a -z "$f2" ] && echo 1 || echo 0 0 (-z: 字符串不空為假,就執行||后面的) ,
                  <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>

                              哎呀哎呀视频在线观看