(十)條件判斷

2022-03-11 00:52:41 字數 2093 閱讀 1481

3、 條件判斷

1:按照檔案型別進行判斷

-b 檔案  判斷該檔案是否存在,並且是否為塊裝置檔案(是塊裝置檔案為真)

-c 檔案  判斷該檔案是否存在,並且是否為字元裝置檔案(是字元裝置檔案為真)

-d 檔案  判斷該檔案是否存在,並且是否為目錄檔案(是目錄為真)

-e 檔案  判斷該檔案是否存在(存在為真)

-f 檔案  判斷該檔案是否存在,並且是否為普通檔案(是普通檔案為真)

-l 檔案  判斷該檔案是否存在,並且是否為符號鏈結檔案(是符號鏈結檔案為真)

-p 檔案  判斷該檔案是否存在,並且是否為管道檔案(是管道檔案為真)

-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 有乙個成立,最終的結果就為真

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

06條件判斷

一 if語句 形式if expression statementif expression statement1 else statementif expression1 statement1 else if statement2 else statement3例子if legs 4 printf ...

3 條件判斷和迴圈

1.條件判斷 age 3 if age 18 print your age is age print adult else print your age is age print teenager 注意不要少寫了冒號 當然上面的判斷是很粗略的,完全可以用elif做更細緻的判斷 age 3 if ag...

shell程式設計(五)條件判斷

這裡所說的條件判斷是對變數的大小 字串 檔案屬性等內容進行判斷。test命令可以用於字串 數字 檔案狀態等內容的測試。指的是對檔案的許可權 有無 屬性 型別等內容進行判斷。與其他語言不同的是,test命令的測試結果,返回0時表示測試成功。返回1時表示測試失敗。指的是比較兩個數值的大小或相等關係,相當...