Shell腳本條件測試操作

【test命令】

測試特定的表達式是否成立,當條件成立時,測試語句的返回值爲0,否則爲其他數值

    格式1:test  條件表達式

    格式2:[  條件表達式  ]        //前後至少一個空格

【文件測試】

    格式:[  操作符  文件或目錄  ]

        -d:測試是否爲目錄(Directory)

        -e: 測試目錄或文件是否存在(Exist)

        -f: 測試是否爲文件(File)

        -r: 測試當前用戶是否有權限讀取(Read)

        -w: 測試當前用戶是否有權限寫入(Wrute)

        -x: 測試是否設置有可執行(Excute)權限

wKiom1gXN8PAdMTlAAArJG7WR5Q642.png

若測試的條件不成立,則測試操作的返回值將不爲0(通常爲1)

wKiom1gXOFDC4ucLAAAltKSCeu0667.png

爲了更直觀地查看測試結果,可以結合 && 和 echo 命令一起使用,當條件成立時直接輸出“YES”

wKiom1gXOhaTmpwzAAA0ImFkpx0344.png

【整數值比較】

整數值比較指的是根據給定的兩個整數值,判斷第一個數與第二個數的關係,如果是否大於、等於、小於第2個數。

    -eq: 第一個數等於(Equal)第二個數 

    -ne: 第一個數不等於(Not Equal)第二個數

    -gt: 第一個數大於(Greater Than)第二個數

    -lt: 第一個數小於(Lesser Than)第二個數

    -le: 第一個數小於或等於(Lesser or Equal)第二個數

    -ge: 第一個數大於或等於(Greater or Equal)第二個數

例如,若要判斷當前已登錄的用戶數,當超出一個時輸出“大於1”,可以執行以下操作。

wKioL1gXPZCicPSoAAA2sFgplCU851.png

【字符串比較】

格式1:[  字符串1  =  字符串2 ]   :第一個字符串與第二個字符串相同

       [  字符串1  !=  字符串2 ]  :第一個字符串與第二個字符串不相同,其中“!”符號表示取反

格式2:[  -z  字符串 ]   :檢查字符串是否爲空(Zero),對於未定義或賦予空值得變量將視爲空串

wKioL1gXQFPQuT-DAABg3y4vKaI561.png

【邏輯測試】

格式1:[  表達式1  ]  操作符  [  表達式2  ]  ... 

格式2:命令1  操作符  命令2  ... 

    &&:邏輯與,表示“而且”,只有當前後兩個條件都成立時,整個測試命令的返回值才爲0(結果成立)。使用Test命令測試時,“&&”可改爲“-a”

    ||:邏輯或,表示“或者”,只要前後兩個條件中有一個成立,整個測試命令的返回值及爲0(結果成立)。使用Test命令測試時,“||”可改爲“-o”

    !:邏輯否,表示“不”,只有當指定的條件不成立時,整個測試命令的返回值才爲0(結果成立)

wKiom1gXQ-TQlEvwAABJYCss2Zo989.png

以上一些Shell條件測試的一些簡單的操作,如果覺得不錯那就點個贊吧~\(≧▽≦)/~

如果有大神發現我有哪裏寫的不對的,請評論告訴我,我會及時更正的哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章