bash 表示式的真偽邏輯

2021-08-28 03:11:57 字數 1472 閱讀 8705

linux 下shell中if的「-e,-d,-f」是什麼意思

檔案表示式

-e filename 如果 filename存在,則為真

-d filename 如果 filename為目錄,則為真

-f filename 如果 filename為常規檔案,則為真

-l filename 如果 filename為符號鏈結,則為真

-r filename 如果 filename可讀,則為真

-w filename 如果 filename可寫,則為真

-x filename 如果 filename可執行,則為真

-s filename 如果檔案長度不為0,則為真

-h filename 如果檔案是軟鏈結,則為真

filename1 -nt filename2 如果 filename1比 filename2新,則為真。

filename1 -ot filename2 如果 filename1比 filename2舊,則為真。

整數變數表示式

-eq 等於

-ne 不等於

-gt 大於

-ge 大於等於

-lt 小於

-le 小於等於

字串變數表示式

if [ a=

a

=b ] 如果string1等於string2,則為真

字串允許使用賦值號做等號

if [ st

ring

1!= str

ing1

!=

string2 ] 如果string1不等於string2,則為真

if [ -n st

ring

]如果s

trin

g非空(

非0),

返回0(

true

)if[

−zs tr

ing]

如果st

ring

非空(非

0),返

回0(t

rue)

if[−

zstring ] 如果string 為空,則為真

if [ $sting ] 如果string 非空,返回0 (和-n類似)

邏輯非 !                   條件表示式的相反
if [ ! 表示式 ]

if [ ! -d nu

m]如果

不存在目

錄 num

]如果不

存在目錄

num

邏輯與 –a                   條件表示式的並列
if [ 表示式1 –a 表示式2 ]

邏輯或 -o                   條件表示式的或
if [ 表示式1 –o 表示式2 ]

邏輯表示式

1.比較表示式只能描述1個條件 2.邏輯表示式可以描述多個條件,並且使用邏輯運算子來指定多個條件之間的關係 符號含義 與 ll或 非 邏輯與表示式 邏輯與 由 連線起來的邏輯表示式,只要當兩邊的條件都成立的時候,整個邏輯表示式猜成立,只要有一邊的條件不成立,那麼整個邏輯表示式都不成立 表示式結果 1...

邏輯表示式

我們知道,在c c 中,邏輯真與邏輯假分別用1和0來表示。現在,請定義logical類來表示乙個邏輯表示式。包括 1.2個int型別的屬性a和b,1個char型別的屬性op,其中a和b只能為0或1,是邏輯表示式的2個運算元 op是 四種運算子之一,分別表示異或 同或 與 或。2.建構函式logica...

bash正規表示式

1.1 正規表示式 正規表示式 regular expression 是一種字元模式 pattern 用來匹配字串中的子串。例如 ro t 可以匹配 root rooot等 ro t 可以匹配 rot root rooot等1.1 正規表示式元字元 元字元是具有特殊含義的字元,不同於字元表面的含義。...