liulanghan110 发表于 2013-2-4 19:53:57

Linux Shell编程第三篇测试条件

<span style=""><div class="cnt">[ ]有一些麻烦的问题,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”最低。
页: [1]
查看完整版本: Linux Shell编程第三篇测试条件