俺反正是經(jīng)常忘啊,用的時候總是翻箱倒柜的找也不是個事,把它們列在這里吧。
- –b 當(dāng)file存在并且是塊文件時返回真
- -c 當(dāng)file存在并且是字符文件時返回真
- -d 當(dāng)pathname存在并且是一個目錄時返回真
- -e 當(dāng)pathname指定的文件或目錄存在時返回真
- -f 當(dāng)file存在并且是正規(guī)文件時返回真
- -g 當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了SGID位時返回為真
- -h 當(dāng)file存在并且是符號鏈接文件時返回真,該選項在一些老系統(tǒng)上無效
- -k 當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了“粘滯”位時返回真
- -p 當(dāng)file存在并且是命令管道時返回為真
- -r 當(dāng)由pathname指定的文件或目錄存在并且可讀時返回為真
- -s 當(dāng)file存在文件大小大于0時返回真
- -u 當(dāng)由pathname指定的文件或目錄存在并且設(shè)置了SUID位時返回真
- -w 當(dāng)由pathname指定的文件或目錄存在并且可執(zhí)行時返回真。一個目錄為了它的內(nèi)容被訪問必然是可執(zhí)行的。
- -o 當(dāng)由pathname指定的文件或目錄存在并且被子當(dāng)前進程的有效用戶ID所指定的用戶擁有時返回真。
UNIX Shell 里面比較字符寫法:
- -eq 等于
- -ne 不等于
- -gt 大于
- -lt 小于
- -le 小于等于
- -ge 大于等于
- -z 空串
- = 兩個字符相等
- != 兩個字符不等
- -n 非空串