Linux 条件测试语句

  Linux的控制语句需要用到各种条件,而条件又分为不同的类型。

 测试表达式:

      (1)整数测试

          A -gt B:大于

          A -ge B:大于等于

          A -eq B:等于

          A -le  B:小于等于

          A -ne B:不等于

          A -lt B:小于

            例如:

       (2)字符串测试

          A > B

          A<B

          A<=B

          A>=B

          A!=B :不等于

          A==B 或 A =B:等于

          -z A:判断A是否为空,空为真,不空为假

          -n A:判断A是否为空,不空为真,空为假

    (3) 文件测试

   -e $file:是否存在,存在为真
   -a $file:同上,弃用
   -f $file:文件是否存在,且为普通文件;
   -d $file:是否存在,且为目录
   -h $file:是否存在且为符号链接文件
   -L $file:同上
   -b $file:是否存在且为块设备文件
   -c $file:是否存在且为字符设备文件
   -S $file:套接字文件
   -p $file:管道文件


   -r $file:当前用户对此文件是否拥有读权限
   -w $file:写权限
   -x $file:执行权限
   -u $file:文件是否拥有suid权限
   -g $file:文件是否拥有sgid权限
   -k $file:文件是否拥有sticky权限


   -o $file: 当前用户是否为文件的属主
   -G $file:当前用户是否属于文件的属组

   -N $file:文件自从上次被读取之后,是否被修改过
     [ -N /tmp/fstab ]
     echo $?

   $f1 -nt $f2: 文件f1是否比文件f2新
   $f1 -ot $f2:文件f1是否比文件f2旧
   $f1 -ef $f2:两个文件是否为同一个文件的硬链接

组合测试条件
        给条件添加逻辑操作符 注意:命令不能用这些
            或,-o:
            与:-a:[ $uid -gt 0 -a $uid -lt 500]
            非:!
            -z:为空
    命令连接:短路操作符,字符串命令使用此类命令
        与 &&
        或:||
        非:[ ! EXPRESSION ]


你可能感兴趣的:(linux,字符串,表达式)