格式 :
[空格 -命令 文件 空格]
如:
[ -b /dev/sda ]
使用echo $? 查看返回值
存在性及類型測試:
-e: 是否存在
-b:是否為塊設(shè)備
-c:是否為字符設(shè)備
-d:是否為目錄
-f:是否為普通文件
-h 或 -L :是否為符號鏈接文件
-p:是否為管道文件
-S:是否為套接字文件
文件權(quán)限測試
-r:當(dāng)前用戶是否有讀權(quán)限
-w:當(dāng)前用戶是否有寫權(quán)限
-x:當(dāng)前用戶是否有執(zhí)行權(quán)限
特殊權(quán)限測試:
-u:是否存在擁有suid權(quán)限
-g:是否存在且擁有sgid權(quán)限
-k:是否存在且擁有sticky權(quán)限
文件是否有內(nèi)容
-s:是否有內(nèi)容
時(shí)間戳
-N:文件自從上一次被讀取后是否修改過
從屬關(guān)系測試
-O:當(dāng)前用戶是否為文件的屬主
-G:當(dāng)前用戶是否屬于文件的屬組
雙目測試:
FILE1 -ef FILE2 : 是否指向同一個文件系統(tǒng)的相同inode硬鏈接
FILE1 -nt FILE2: FILE1是否新于FILE2
FILE1 -ot FILE2: FILE1是否舊與FILE2
組合測試條件:
邏輯運(yùn)算:
第一種:
COMMAND1 && COMMAND2
COMMAND1 || COMMAND2
!COMMAND
第二種:
EXPRESSION1 -a EXPRESSION2:-a 相當(dāng)于&&
EXPRESSION1 -o EXPRESSION2: -o 相當(dāng)于||
!EXPRESSION