linux if 命令判斷條件總結


linux if命令

關於文件屬性的判斷式

-a 如果文件存在

-b 如果文件存在,且該文件是區域設備文件

-c 當file存在並且是字符設備文件時返回真

-d 當pathname存在並且是一個目錄時返回真

-e 當pathname指定的文件或目錄存在時返回真

-f 當file存在並且是普通文件時返回真

-g 當由pathname指定的文件或目錄存在並且設置了SGID位時返回為真

-h 當file存在並且是符號鏈接文件時返回真,該選項在一些老系統上無效

-k 當由pathname指定的文件或目錄存在並且設置了“sticky”位時返回真

-r 當由pathname指定的文件或目錄存在並且可讀時返回為真

-s 當file存在文件大小大於0時返回真

-t 文件描述符   如果文件描述符是開啟的,且鏈接了某一個終端

-u 當由pathname指定的文件或目錄存在並且設置了SUID位時返回真

-w 當由pathname指定的文件或目錄存在並且可執行時返回真。一個目錄為了它的內容被訪問必然是可執行的。

-x  如果文件存在,且該文件有可執行的屬性

-O 當由pathname指定的文件或目錄存在並且被子當前進程的有效用戶ID所指定的用戶擁有時返回真。

-G  如果文件存在,且該文件為有效的群組 id 所擁有

-L  如果該文件存在,且該文件是符號鏈接文件

-S  如果該文件存在,且該文件是Socket文件

-N  如果該文件存在,且該文件自上次讀取后曾修改過

文件1   –nt  文件2   如果文件1比文件2新,或者文件1存在,文件2不存在

文件1   –ot  文件2   如果文件1比文件2舊,或者文件1不存在,文件2存在

文件1   –ef  文件2   如果文件1和文件2 引用到相同的設備和 inode 編號

 

關於字符串的條件判斷式

-z                                           空串 (如果字符串長度為0)

-n                                           非空串 (如果字符串長度不為0)

字符串                                       如果字符串長度不為0

!=                                           如果兩個字符串不相等                   

=                                           如果兩個字符串相等

==                                          如果兩個字符串相等

字符串 1 < 字符串      2            如果字符串1小於字符串2

字符串 1 > 字符串      2            如果字符串1大於字符串2

 

 

 

 

 

 

 

關於算式的條件判斷

-eq   等於

-ne    不等於

-gt    大於

-lt    小於

-le    小於等於

-ge   大於等於

 

 

關於 Bash 選項的條件判斷

-o set的選項名稱         如果選項是開啟的狀態

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM