俺反正是經(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    非空串