1. 文件判断表达式

  • -e filename:如果 filename 存在(exist),则为真;
  • -d filename:如果 filename 为目录(directory),则为真;
  • -f filename:如果 filename 为常规文件,则为真;
  • -L filename:如果 filename 为符号链接,则为真;
  • -r filename:如果 filename 可读,则为真;
    • -w filename:如果 filename 可写,则为真;-x filename:如果 filename 可执行,则为真;
  • -s filename:如果文件长度不为 0,则为真;
  • -h filename:如果文件是软连接,则为真;

  • filename1 -nt filename2:如果 filename1 比 filename2 新(nt,newer than),则为真;
  • filename1 -ot filename2:如果 filename1 比 filename2 旧(ot,older than),则为真;
    • 新旧指的是修改日期;

2. 数值比较

  • -eq:是否等于;-ne:是否不相等;
  • -gt:是否大于;-ge:是否大于等于;-lt:是否小于;-le:是否小于等于;

3. 字符串判断

  • if [$string1=$string2]:如果 string1 等于 string2,则为真;在 shell 中字符串允许使用 =(赋值号)做等号;
    • if [$string1!=$string2]
  • if [-n $string]:如果 string 非空,则为真;
    • 等价于 if [$string]
    • if [-z $string]:如果 string 为空,则为真;

4. 逻辑表达式

  • -a:and,与,if [表达式1 -a 表达式2]
  • -o:or,或,if [表达式1 -o 表达式2]
  • !:not,非,if [!-d $num],如果不存在目录 num

references

posted on 2017-07-09 18:20  未雨愁眸  阅读(312)  评论(0编辑  收藏  举报