Shell測試語句 與或非 就是老十三的部落格

2022-09-22 23:48:16 字數 930 閱讀 5903

[root@master1-192-168-117-18 ~]# [ -d /etc/dev ] 測試語句兩邊應該有乙個空格[root@master1-192-168-117-18 ~]# echo $?1

[root@master1-192-168-117-18 ~]# [ -e /etc/profile ][root@master1-192-168-117-18 ~]# echo $?0

[root@master1-192-168-117-18 ~]# [ -e /etc/profile ] && echo "i love you"i love you

除了邏輯「與」外,還有邏輯「或」,它在linux系統中的運算符號為||,表示當前面的命令執行失敗後才會執行它後面的命令,因此可以用來結合系統環境變數user來判斷當前登入的使用者是否為非管理員身份:

[xiha@master1-192-168-117-18 ~]$ [ $user = root ] || echo "no's root"no's root

第三種邏輯語句是「非」,在linux系統中的運算符號是乙個嘆號(!),它表示把條件測試中的判斷結果取相反值。也就是說,如果原本測試的結果是正確的,則將其變成錯誤的;原本測試錯誤的結果則將其變成正確的[root@master1-192-168-117-18 ~]# [ $user != root ] || echo "no's root"no's root

先判斷當前登入使用者的user變數名稱是否等於root,然後用邏輯運算子「非」進行取反操作,效果就變成了判斷當前登入的使用者是否為非管理員使用者了。最後若條件成立則會根據邏輯「與」運算子輸出user字樣;或條件不滿足則會通過邏輯「或」運算子輸出root字樣,而如果前面的&&不成立才會執行後面的||符號。[root@master1-192-168-117-18 ~]# [ $user != root ] && echo "user" || echo "root"root

與( ) 非( ) 或( ) 異或( )

位運算子主要針對二進位制,它包括了 與 非 或 異或 從表面上看似乎有點像邏輯運算子,但邏輯運算子是針對兩個關係運算子來進行邏輯運算,而位運算子主要針對兩個二進位制數的位進行邏輯運算。下面詳細介紹每個位運算子。1 與運算子 與運算子用符號 表示,其使用規律如下 兩個運算元中位都為1,結果才為1,否則...

短路與 非短路與 短路或 非短路或

1 驗證 的作用 public class operatordemo public static void main string args if 10 10 10 0 0 非短路與 要把所有的條件進行判斷 system.out.println 條件滿足。2 驗證 的作用 public class ...

shell條件測試語句

eq 等於 ne 不等於 gt 大於 lt 小於 ge 大於或等於 le大於或小於 字串1 字串2 字串內容相同 字串1 字串2 字串內容相不同 字串1 字串2 字串內容為空 邏輯關係 與 和 而且 必須所有條件都滿足 邏輯關係 或 滿足條件之一即可 邏輯關係 非 否 e 判斷目錄或檔案是否存在 f...