一、文件测试操作符:

  在书写测试表达式是,可以使用一下的文件测试操作符。

  

  更多的参数可以help test或者man bash

二、字符串测试操作符:

  字符串测试操作符的作用:比较两个字符串是否相同、字符长度是否为0,字符串是否为null(注:bash区分长度字符串和空字符串)

  “=”比较两个字符串是否相同,与“==”等价,如:if [“$a”=“$b”],其中$a这样的变量最好用””括起来,因为如果中间有空格等就会出错。更好的方法是if [“${a}”=“${b}”]。

  “!=”比较两个字符串是否相同,不同则为真。

  书写表达式是可以使用以下的测试操作符号:

  

三、整数二元比较操作符:

  其中含有:-eq、-ne、-gt、-ge、-lt、-le在[]中使用的比较符

  ==、!=、>、>=、<、<=在()和[[]]中使用的比较符

  

四:变量的数值计算:含:“^”、“!=”以及赋值运算。  

  

  

  实际举例:

    多条件字符串测试举例:

  

 [root@CentOS /]# [ -z "$file1" ] && echo ture || echo false
ture
[root@CentOS /]# [ -n "$file1" ] && echo ture || echo false
false
[root@CentOS /]# [ -z "$file1" -a -z "$file2" ] && echo ture || echo false
ture
[root@CentOS /]# [ -n "$file1" -a -n "$file2" ] && echo ture || echo false
false
[root@CentOS /]# [ -n "$file1" -o -n "$file2" ] && echo ture || echo false
false
[root@CentOS /]# [ -n "$file1" -o -z "$file2" ] && echo ture || echo false
ture
[root@CentOS /]# [[ "$file1" = "$file2" ]] && echo true || echo false
true
[root@CentOS /]# [[ "$file1" != "$file2" ]] && echo true || echo false
false
[root@CentOS /]# [[ -n $file1 && -n $file2 ]] && echo true || echo false
false
[root@CentOS /]# [[ -n $file1 || -n $file2 ]] && echo true || echo false
false
[root@CentOS /]# [[ -n $file1 || -z $file2 ]] && echo true || echo false
true

    整数测试举例:

  

  

 [root@CentOS /]# a1=
[root@CentOS /]# a2=
[root@CentOS /]# [ $a1 = $a2 ] && echo true || echo false
false
[root@CentOS /]# [ $a1 != $a2 ] && echo true || echo false
true
[root@CentOS /]# [ $a1 -le $a2 ] && echo true || echo false
true
[root@CentOS /]# [ $a1 -ge $a2 ] && echo true || echo false
false
[root@CentOS /]# [ $a1 -gt $a2 ] && echo true || echo false
false
[root@CentOS /]# [ $a1 -lt $a2 ] && echo true || echo false
true
[root@CentOS /]# [ $a1 -eq $a2 ] && echo true || echo false
false
[root@CentOS /]# echo $a1 $a2

  

shell脚本之文件测试操作符及整数比较符的更多相关文章

  1. (转)shell脚本之文件测试操作符及整数比较符

    shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一 ...

  2. shell脚本中文件测试

    shell脚本中文件测试 author:headsen chen  2017-10-17  14:35:19 个人原创,转载请注明作者,否则 依法追究法律责任 [ -f  filename  ]   ...

  3. shell脚本之文件测试表达式

    1.文件测试表达式的用法 我们在编程时处理一个对象时,需要对对象进行测试,只有符合要求的才采取操作处理:这样做的好处是避免程序出错以及无所畏的消耗系统资源,这个测试的对象可以是文件.字符串.数字等. ...

  4. Shell脚本的条件测试与比较

    Shell脚本的条件测试与比较 一.shell脚本的条件测试 通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结构执行不同的操作,有时也会与if等条件语句相结合,来完成测试 ...

  5. shell脚本之六:shell脚本的条件测试与比较

    六.shell脚本的条件测试与比较 (一)条件表达式的常见语法 1.条件表达式6种写法(if,while) 语法1:test<测试表达式> 语法2:[ <测试表达式>] #中括 ...

  6. Shell脚本统计文件行数

    Shell脚本统计文件行数 转自 http://www.jb51.net/article/61943.htm    示例:row_count.sh文件 awk '{print NR}' row_cou ...

  7. shell 脚本大文件处理

    shell  脚本大文件处理 字符串处理 s='{"_id":{"$oid":"59b73d80930c17474f9f050d"},&qu ...

  8. shell脚本学习—条件测试和循环语句

    条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与 ...

  9. Shell脚本下条件测试(eq.ne.....)(转载)

    转载:http://cxj632840815.blog.51cto.com/3511863/1168709 Shell编程中的条件测试 在Linux编程中经常会用到判断数值的大小,字符串是否为空这样或 ...

随机推荐

  1. linux虚拟机与windows主机传输文件方法

    通过ssh    这种方法需要虚拟机内的linux安装ssh服务,默认是安装的。 首先检查ssh服务是开启的,通过shell下执行命令:service ssh status, 查看ssh服务是否已开启 ...

  2. git常用命令(转)

    git常用命令: git init //初始化本地git环境 git clone XXX//克隆一份代码到本地仓库 git pull //把远程库的代码更新到工作台 git pull --rebase ...

  3. wamp配置apache虚拟主机支持多域名访问localhost

    1.背景: 在进行网站开发的时候,通常需要以http://localhost或者127.0.0.1等地址来访问本地环境的网站.不过随着开发项目的增多,需要每次先访问localhost然后再选项目,显得 ...

  4. java webservices 以Axis1.4方式 调用sap webservice接口.

    1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可. 2. 下载mail.jar和activation.jar 俩个包.下载地址:h ...

  5. Oracle练习(2)

    有如下三张表: 销售表:SALE_FACT  工号   年月   城市   客户   销售额  C00001 201601 上海 A 1000 C00001 201601 上海 B 5000 C000 ...

  6. P1979 华容道

    题意:$n*m$棋盘上$n*m-1$颗棋子,有且只有一个格子为空白格子,每个棋子大小$1*1$ 有些棋子可以移动,而有些棋子固定,任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空白格子上 ...

  7. 解决spring使用动态代理

    解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ... 转 ...

  8. window下安装git与git使用

    有的eclipse已经自带了Git了,就不用安装了.如果,想重新安装,可以先卸载GIT,卸载 不同eclipse卸载不一样: 1.在Eclipse中依次点击菜单"Help"-> ...

  9. spring 和 spirngMvc 中 异常处理

    spring 中 的 异常处理 使用的是aspectj @Aspect @Component /** * * @author **** * @createData 2017年7月13日 上午8:36: ...

  10. Codeforces Round #520 (Div. 2) B math(素数因子的应用)

    题意: 给出一个n ; 有两个操作: 1,mul A   ,   n=n*A   : 2,sqrt()  ,  n=sqrt(n)  开更出来必须是整数 : 求出经过这些操作后得出的最小  n , 和 ...