shell邏輯判斷式與表示式

2021-07-09 13:32:04 字數 1630 閱讀 4951

邏輯卷標

表示意思

1.關於檔案與目錄的偵測邏輯卷標!

-f常用!偵測『檔案』是否存在 eg: if [ -f filename ]

-d

常用!偵測『目錄』是否存在

-b偵測是否為乙個『block 檔案』

-c偵測是否為乙個『character 檔案』

-s

偵測是否為乙個『

socket 標籤檔案』

-l

偵測是否為乙個『

symbolic link 的檔案』

-e

偵測『 某個東西』是否存在!

2.關於程式的邏輯卷標!

-g

偵測是否由 gid 所執行的程式所擁有

-o

偵測是否由 uid 所執行的程式所擁有

-p

偵測是否為程式間傳送資訊的 name pipe 或是 fifo (老實說,這個不太懂!)

3.關於檔案的屬性偵測!

-r

偵測是否為

可讀的屬性

-w

偵測是否為

可以寫入的屬性

-x

偵測是否為

可執行的屬性

-s

偵測是否為『

非空白檔案』

-u

偵測是否具有『

suid 』的屬性

-g

偵測是否具有『

sgid 』的屬性

-k

偵測是否具有『

sticky bit 』的屬性

4.兩個檔案之間的判斷與比較 ;例如『 test file1 -nt file2 』

-nt

第乙個檔案比第二個檔案新

-ot

第乙個檔案比第二個檔案舊

-ef

第乙個檔案與第二個檔案為同乙個檔案( link 之類的檔案)

5.邏輯的『和(and)』『或(or)』

&&

邏輯的 and 的意思

||

邏輯的 or 的意思

比較有趣的應該算是 1, 3 這兩種種類的判斷,尤其是在建立一些 permission 相關的檔案時,這個就更重要了!然後那個『兩個檔案之間的判斷』也是挺有意思的!有空的話不妨去試一試去!還有,那個&&||這兩個東西也是很重要的!接著下來,我們要來談一談運算符號囉!

運算符號簡介:

在 bash shell scripts 的運算符號的加減乘除是怎樣的一回事呀!?談一談吧!

運算符號

代表意義

=等於!=不等於

<< font="">

小於》大於-eq

等於-ne

不等於-lt

小於-gt

大於-le

小於或等於

-ge大於或等於

-a雙方都成立(and)

-o單方成立(or)

-z空字串

-n非空字串

Shell 表示式判斷

表示式放到 中 檔案表示式 e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果...

shell 比較邏輯表示式

a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...

shell 四 邏輯表示式

一邏輯操作符 閘電路 說明 學習中,使用中記憶!and 乘法,or是加法練習 root server1 mnt ll total 8 1 root root 11 aug 29 12 29 temp drwxr xr x 4 root root 34 aug 29 12 12 wzj rw r r ...