阿娇开发978 发表于 2018-8-23 11:59:30

shell中if专题

[ -d 文件 ] 为真 如果 文件 存在 而且 是一个 目录。  [ -e 文件 ] 为真 如果 文件 存在。
  [ -f 文件 ] 为真 如果 文件 存在 而且 是一个 普通 文件。
  [ -g 文件 ] 为真 如果 文件 存在 而且 已经设置了他的 SGID 位。
  [ -h 文件 ] 为真 如果 文件 存在 而且 是一个 符号连接。
  [ -k 文件 ] 为真 如果 文件 存在 而且 他的粘住位已经设置。
  [ -p 文件 ] 为真 如果 文件 存在 而且 是一个 已经命名的管道 (F 如果O)。
  [ -r 文件 ] 为真 如果 文件 存在 而且 是可读的。
  [ -s 文件 ] 为真 如果 文件 存在 而且 比零字节大。
  [ -t FD ] 为真 如果 文件 文件描述符已经打开 而且 指向一个终端。
  [ -u 文件 ] 为真 如果 文件 存在 而且 已经设置了他的 SUID (set user ID)位。
  [ -w 文件 ] 为真 如果 文件 为真 如果 文件 存在 而且 是可写的。
  [ -x 文件 ] 为真 如果 文件 存在 而且 是可执行的。
  [ -O 文件 ] 为真 如果 文件 存在 而且 属于有效用户ID。
  [ -G 文件 ] 为真 如果 文件 存在 而且 属于有效组ID。
  [ -L 文件 ] 为真 如果 文件 存在 而且 是一个 符号连接。
  [ -N 文件 ] 为真 如果 文件 存在 而且 has been mod 如果ied since it was last read。
  [ -S 文件 ] 为真 如果 文件 存在 而且 是一个 socket。
  [ 文件1 -nt 文件2 ] 为真 如果 文件1 has been changed more recently than 文件2, or 如果
  文件1 存在 而且
  文件2 does not。
  [ 文件1 -ot 文件2 ] 为真 如果 文件1 比 文件2 旧, 或者 文件2 存在而且 文件1 不存在。
  [ 文件1 -ef 文件2 ] 为真 如果 文件1 而且 文件2 refer to the same device 而且 inode
  numbers。
  [ -o 选项名 ] 为真 如果 shell 选项 "选项名" 开启。
  [ -z STRING ] 为真 如果 "STRING"的长度是零。
  [ -n STRING ] 或者 [ STRING ] 为真 "STRING"的长度是非零值。
  [ STRING1 == STRING2 ] 如果两个字符串相等为真。 "=" may be used instead of "==" for
  strict POSIX compliance。
  [ STRING1 != STRING2 ] 为真 如果 两两个字符串不相等。
  [ STRING1 < STRING2 ] 为真 如果 &quot;STRING1&quot; sorts before &quot;STRING2&quot; lexicographically in the
  current locale。
  [ STRING1 > STRING2 ] 为真 如果 &quot;STRING1&quot; sorts after &quot;STRING2&quot; lexicographically in the
  current locale。
  [ ARG1 OP ARG2 ]
  &quot;OP&quot; 是 -eq, -ne, -lt, -le, -gt or -ge 其中一个。 These arithmetic binary operators
  return 为真 如果 &quot;ARG1&quot; is equal to, not equal to, less than, less than or equal to, greater
  than, or greater than or equal to &quot;ARG2&quot;, respectively。 &quot;ARG1&quot; 而且 &quot;ARG2&quot; are
  integers。
  表达式可以借以下操作符组合起来, listed in decreasing order of precedence:
  操作符效果
  [ ! EXPR ] 如果EXPR 为假则为真。
  [ ( EXPR ) ] 返回EXPR 的值。 这样可以用来忽略正常的操作符优先级。

页: [1]
查看完整版本: shell中if专题