Linux Shell指令碼邏輯操作符簡介

2022-07-25 15:15:15 字數 1445 閱讀 5636

在寫程式時,會用到條件判斷,測試條件是否成立。很多時候,判斷條件是多個的,這個時候需要用到邏輯操作符。shell指令碼中常用的有哪些邏輯操作符呢?

1、邏輯與: -a

格式: conditon1 -a condition2

結果:codition1和conditon2 都為真,才返回真,否則返回假。

演示:測試可執行檔案lnmp

[plain]view plain

copy

[root@localhost ~]# [ -x lnmp -a -f lnmp ]   #lmmp是可執行且是檔案 結果返回真  

[root@localhost ~]# echo $?  

0  [root@localhost ~]# [ -x lnmp -a -d lnmp ]   #lnmp可執行但不是目錄 結果返回假  

[root@localhost ~]# echo $?  

1

拓展:該操作符類似於其他語言的&& ,a 是and 的第乙個字母

2、邏輯或:-o 

格式: condition1 -o conditon2

結果:condition1和condition2中,有乙個條件為真,即返回真,否則返回假

演示:測試可執行檔案lnmp

[plain]view plain

copy

[root@localhost ~]# [ -x lnmp -o -d lnmp ]  #lmmp是可執行但不是目錄 結果仍返回真  

[root@localhost ~]# echo $?  

0  [root@localhost ~]# [ -l lnmp -o -d lnmp ]   #lnmp可執行檔案,但不是目錄,也不是符號鏈結檔案, 結果返回假  

[root@localhost ~]# echo $?  

1

拓展:該操作類似於其他語言的||

3、邏輯非:!

格式:! condition

結果:返回條件測試condition結果的相反值

演示:測試可執行檔案lnmp

[plain]view plain

copy

[root@localhost ~]# [ ! -x lnmp ] #lnmp 是可執行檔案,返回假  

[root@localhost ~]# echo $?  

1  [root@localhost ~]# [ ! -d lnmp ] #lnmp 不是目錄,返回真  

[root@localhost ~]# echo $?  

0                                 

Linux Shell指令碼邏輯操作符簡介

在寫程式時,會用到條件判斷,測試條件是否成立。很多時候,判斷條件是多個的,這個時候需要用到邏輯操作符。shell指令碼中常用的有哪些邏輯操作符呢?1 邏輯與 a 格式 conditon1 a condition2 結果 codition1和conditon2 都為真,才返回真,否則返回假。演示 測試...

Linux Shell指令碼邏輯操作符簡介

在寫程式時,會用到條件判斷,測試條件是否成立。很多時候,判斷條件是多個的,這個時候需要用到邏輯操作符。shell指令碼中常用的有哪些邏輯操作符呢?1 邏輯與 a 格式 conditon1 a condition2 結果 codition1和conditon2 都為真,才返回真,否則返回假。演示 測試...

linux shell指令碼(邏輯判斷和字串比較)

常用比較和判斷 整數比較 lt 小於 le 小於等於 gt 大於 ge 大於等於 eq 等於 ne 不等於 例 if le 10 then echo 小於等於10 fi注意 if 裡兩邊要有空格檔案測試 f 存在且是普通檔案 d 存在且是目錄 s 存在且位元組數大於0 r 存在且可讀 w 存在且可寫...