(十)條件判斷

3、 條件判斷html

1:按照文件類型進行判斷node

-b 文件  判斷該文件是否存在,而且是否爲塊設備文件(是塊設備文件爲真)linux

-c 文件  判斷該文件是否存在,而且是否爲字符設備文件(是字符設備文件爲真)htm

-d 文件  判斷該文件是否存在,而且是否爲目錄文件(是目錄爲真)blog

-e 文件  判斷該文件是否存在(存在爲真)進程

-f 文件  判斷該文件是否存在,而且是否爲普通文件(是普通文件爲真)字符串

-L 文件  判斷該文件是否存在,而且是否爲符號連接文件(是符號連接文件爲真)get

-p 文件  判斷該文件是否存在,而且是否爲管道文件(是管道文件爲真)it

-s 文件  判斷該文件是否存在,而且是否爲非空(非空爲真)基礎

-S 文件  判斷該文件是否存在,而且是否爲套接字文件(是套接字文件爲真)

 

2: 按照文件權限進行判斷

-r 文件  判斷該文件是否存在,而且是否該文件擁有讀權限(有讀權限爲真)

-w 文件  判斷該文件是否存在,而且是否該文件擁有寫權限(有寫權限爲真)

-x 文件  判斷該文件是否存在,而且是否該文件擁有執行權限(有執行權限爲真)

-u 文件  判斷該文件是否存在,而且是否該文件擁有 SUID 權限(有 SUID 權限爲真)

-g 文件  判斷該文件是否存在,而且是否該文件擁有 SGID 權限(有 SGID 權限爲真)

-k 文件  判斷該文件是否存在,而且是否該文件擁有 SBit 權限(有 SBit 權限爲真)

 

特殊權限特殊權限 SUID、SGID、Sticky

(1)爲何要使用特殊權限?

特殊權限能夠擴展系統基礎權限的功能,使得linux權限更增強大靈活.

 

(1) 進程和文件權限的關係

進程有屬主和屬組;文件有屬主和屬組;

(1)  任何一個可執行程序文件能不能啓動爲進程:取決於發起者對程序文件是否擁有執行權限。

(2) 啓動爲進程以後,其進程的屬主爲發起者;進程的屬組爲發起者所屬的組。

(3) 進程訪問文件時的權限,取決於進程的發起者。

(a) 進程的發起者,同文件的屬主:則應用文件屬主權限。

(b) 進程的發起者,屬於文件的屬組;則應用文件屬組權限。

(c) 應用文件「其它」權限。

 

 

3:文件的比較

文件 1 -nt 文件 2 判斷文件 1 的修改時間是否比文件 2 的新(若是新則爲真)

文件 1 -ot 文件 2 判斷文件 1 的修改時間是否比文件 2 的舊(若是舊則爲真)

文件 1 -ef 文件 2

判斷文件 1 是否和文件 2 的 Inode 號一致,能夠理解爲兩個文件是否爲同一個文件。這個判斷用於判斷硬連接是很好的方法

 

4:兩個整數之間比較

整數 1  -eq 整數 2 判斷整數 1 是否和整數 2 相等(相等爲真)

整數 1  -ne 整數 2 判斷整數 1 是否和整數 2 不相等(不相等位置)

整數 1  -gt 整數 2 判斷整數 1 是否大於整數 2(大於爲真)

整數 1  -lt 整數 2 判斷整數 1 是否小於整數 2(小於位置)

整數 1  -ge 整數 2 判斷整數 1 是否大於等於整數 2(大於等於爲真)

整數 1  -le 整數 2 判斷整數 1 是否小於等於整數 2(小於等於爲真)

 

5: 字符串的判斷

-z字符串       判斷字符串是否爲空(爲空返回真)

-n字符串       判斷字符串是否爲非空(非空返回真)

字串 1==字2    判斷字符串 1 是否和字符串 2 相等(相等返回真)

字串 1!=字串2  判斷字符串 1 是否和字符串 2 不相等(不相等返回真

 

6:多重條件判斷

判斷 1 -a 判斷 2  邏輯與,判斷 1 和判斷 2 都成立,最終的結果才爲真

判斷 1 -o 判斷 2  邏輯或,判斷 1 和判斷 2 有一個成立,最終的結果就爲真

!判斷  邏輯非,使原始的判斷式取反.

相關文章
相關標籤/搜索