Linux Shell编程第三篇测试条件

[ ]有一些麻烦的问题,bash从3.0开始支持[[ ]]和(( )),分别用于字符串和数值判断,方便了很多,建议使用。
有了(( )),可以忘记数值判断-eq -lt -gt -le -ge了,一律== != > < >= <=

(1)数值测试:

  -eq:等于则为真

  -ne:不等于则为真

  -gt:大于则为真

  -ge:大于等于则为真

  -lt:小于则为真

  -le:小于等于则为真

  (2)字符串测试:

  =:等于则为真

  !=:不相等则为真

  -z字符串:字符串长度伪则为真

  -n字符串:字符串长度不伪则为真

  (3)文件测试:

  -e文件名:如果文件存在则为真

  -r文件名:如果文件存在且可读则为真

  -w文件名:如果文件存在且可写则为真

  -x文件名:如果文件存在且可执行则为真

  -s文件名:如果文件存在且至少有一个字符则为真

  -d文件名:如果文件存在且为目录则为真

  -f文件名:如果文件存在且为普通文件则为真

  -c文件名:如果文件存在且为字符型特殊文件则为真

  -b文件名:如果文件存在且为块特殊文件则为真

  另外,Linux还提供了与(“!”)、或(“-o)、非(“-a”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低。

你可能感兴趣的:(编程,C++,c,linux,bash)