shell脚本之文件测试操作符及整数比较符
一、文件测试操作符:
在书写测试表达式是,可以使用一下的文件测试操作符。
更多的参数可以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脚本之文件测试操作符及整数比较符的更多相关文章
- (转)shell脚本之文件测试操作符及整数比较符
shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一 ...
- shell脚本中文件测试
shell脚本中文件测试 author:headsen chen 2017-10-17 14:35:19 个人原创,转载请注明作者,否则 依法追究法律责任 [ -f filename ] ...
- shell脚本之文件测试表达式
1.文件测试表达式的用法 我们在编程时处理一个对象时,需要对对象进行测试,只有符合要求的才采取操作处理:这样做的好处是避免程序出错以及无所畏的消耗系统资源,这个测试的对象可以是文件.字符串.数字等. ...
- Shell脚本的条件测试与比较
Shell脚本的条件测试与比较 一.shell脚本的条件测试 通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结构执行不同的操作,有时也会与if等条件语句相结合,来完成测试 ...
- shell脚本之六:shell脚本的条件测试与比较
六.shell脚本的条件测试与比较 (一)条件表达式的常见语法 1.条件表达式6种写法(if,while) 语法1:test<测试表达式> 语法2:[ <测试表达式>] #中括 ...
- Shell脚本统计文件行数
Shell脚本统计文件行数 转自 http://www.jb51.net/article/61943.htm 示例:row_count.sh文件 awk '{print NR}' row_cou ...
- shell 脚本大文件处理
shell 脚本大文件处理 字符串处理 s='{"_id":{"$oid":"59b73d80930c17474f9f050d"},&qu ...
- shell脚本学习—条件测试和循环语句
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与 ...
- Shell脚本下条件测试(eq.ne.....)(转载)
转载:http://cxj632840815.blog.51cto.com/3511863/1168709 Shell编程中的条件测试 在Linux编程中经常会用到判断数值的大小,字符串是否为空这样或 ...
随机推荐
- Required plugin could not be found. Videos requires to install plugins to play files of the following types : MPEG-4-AAC decoder and H.264 decoder
https://linuxconfig.org/how-to-install-mpeg-4-aac-decoder-for-centos-7-linux 记得联网情况下才能下载.
- [译]Javascript中的for循环
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- Android camera调用出现错误解决方法
开发时,先是使用三星的手机测试,发现一切正常: 但是到了小米的手机的时候,发现图片很模糊,发现是设置camera.setParameters(parameters);报错导致用的是默认的最小的分辨率, ...
- [转]Passing Managed Structures With Strings To Unmanaged Code Part 2
1. Introduction. 1.1 In part 1 of this series of blogs we studied how to pass a managed structure (w ...
- GetTop(),GetTopLeft()等等
Panel_BattleInfo挂在屏幕最上方 protected override void OnStart() { Vector3 = pos = GetTop(); transform.Find ...
- How to compile a node file?如何编译一个节点文件?
Ubuntu16.04,ros Kinetic 最近几次遇到的问题都是,给你一个写好的ros node文件,没有给你其他的东西,你如何编译它? 以从ros中提取rgb图像和深度图像为例,示例源代码ex ...
- 使用pycharm创建自己的第一个django项目
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...
- django 学习之DRF (二)
Django学习之DRF02 Serializer序列化器之反序列化操作 1.调⽤序列化器进⾏验证 0.准备序列化器 class BookInfoSerializer(serial ...
- Leetcode 746. Min Cost Climbing Stairs 最小成本爬楼梯 (动态规划)
题目翻译 有一个楼梯,第i阶用cost[i](非负)表示成本.现在你需要支付这些成本,可以一次走两阶也可以走一阶. 问从地面或者第一阶出发,怎么走成本最小. 测试样例 Input: cost = [1 ...
- Django---队列
1.队列介绍 任务队列用作跨线程或机器分配工作的机制. 任务队列的输入是称为任务的工作单元. 专用工作进程不断监视任务队列以执行新工作. Celery通过消息进行通信,通常使用经纪人(brokers) ...