linux if 命令判斷條件總結linux if命令 關於文件屬性的判斷式 -a 如果文件存在 -b 如果文件存在,且該文件是區域設備文件 -c 當file存在並且是字元設備文件時返回真 -d 當pathname存在並且是一個目錄時返回真 -e 當pathname指定的文件或目錄存在時返回真 -f ...
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的選項名稱 如果選項是開啟的狀態