一、文件测试操作符:

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

  

  更多的参数可以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. jQuery AJAX 函数

    jQuery 拥有供 AJAX 开发的丰富函数(方法)库. 什么是 AJAX? AJAX = Asynchronous JavaScript and XML. AJAX 是一种创建快速动态网页的技术. ...

  2. maven tomcat:run指定tomcat7:

    配置好下面的内容后,执行 run as -> tomcat7:run 或者tomcat6:run可以将maven的web应用在tomcat6/7里面运行 ,eclipse Indigo 版本默认 ...

  3. kolla出现问题时的定位方式

    前提,对官网问题的一个翻译 Troubleshooting Guide排障手册 1.Failures(失败) If Kolla fails, often it is caused by a CTRL- ...

  4. python添加图片验证码

    1.创建验证码模块 #!/usr/bin/env python # -*- coding:utf-8 -*- import random from PIL import Image, ImageDra ...

  5. 正交表生成工具 PICT 成对组合覆盖 收藏

    收藏:https://www.cnblogs.com/wmjperson/p/4557246.html

  6. Internet路由-主机路由表和转发表

    1.路由表 路由信息最终要存储在用于路由器的主机或者专业路由器上,存放这些信息的地方称为路由表.其中包含三元素:目标地址,掩码,下一跳. 1.1.查询路由表的开销 有人认为查询路由表是一件和交换机查询 ...

  7. Orcale创建函数(function)

    Oraclec创建函数的语法规则 create or replace function  函数名 (参数名1 参数类型,参数名2 参数类型)  return number  is Result num ...

  8. CF1117G Recursive Queries

    题意:给定一个序列,定义[l, r]的最大值在m处,求f(l, r) = f(l, m - 1) + (r - l + 1) + f(m + 1, r).多次询问.100w. 解:考虑这个区间内每个数 ...

  9. 【预警通告】Apache Struts2 远程代码执行漏洞

    Apache Structs2的Jakarta Multipart parser插件存在远程代码执行漏洞,漏洞编号为CVE-2017-5638.攻击者可以在使用该插件上传文件时,修改HTTP请求头中的 ...

  10. JiJiDown

    发生了预料之外的错误:System.Reflection.TargetInvocationException: Exception has been thrown by the target of a ...