Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39801
  • 博文数量: 26
  • 博客积分: 20
  • 博客等级: 民兵
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 15:52
文章分类

全部博文(26)

文章存档

2016年(23)

2015年(3)

我的朋友

分类: LINUX

2016-06-15 11:12:30

shell中经常会用到判断比较,每次都要现百度搜,今天闲来有空对其进行梳理、总结;供以后查用

判断比较分为三类:数值比较、字符串比较、文件比较

 if [ ] 或者 test  ----由于“【+空格        空格+】”涉及空格问题,建议使用test
 (eg. test -d /backup || mkdir -v /backup)
1、数值比较
    n1 -eq n2    检查n1和n2是否相等
    n1 -ge n2    检查n1是都大于等于n2
    n1 -gt n2     检查n1是否大于n2
     n1 -le n2     检查n1是否小于或等于n2
    n1 -lt n2      检查n1是否小于n2
    n1 -ne n2    检查n1是否不等于n2

2、字符串比较
    str1 = str2    检查str1是否和str2相同
    str1 > str2    检查str1是否大于str2 (这里的‘>’前面要使用转译符\>,否则会被当做重定向
    str1 < str2    检查str1是否小于str2
    str1 != str2    检查str1是否和str2不同
    -n str1          检查str1的长度是否非0
   -z str1           检查str1的长度是否为0,如果为0则为真

3、文件比较
    -d file        检查file是否存在并是一个目录
    -e file        检查file是否存在(目录/文件)
    -f file         检查file是否存在并是一个文件
    -r file         检查file是否存在并可读
    -s file         检查file是否存在并非空
    -w file        检查file是否存在并可读
    -x file         检查file是否存在并可执行
    -O file        检查file是否存在并属当前用户所有
    -G file        检查file是否存在并且默认组与当前用户相同
     file1  -nt  file2  检查file1是否比file2新
     file1  -ot  file2  检查file1是否比file2旧

注:如果对test条件取反的话加!,如 if test ! -f file ,文件不存在quzhen




   
阅读(487) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~