shell学习--[、test测试的使用
来源:互联网 发布:日本女朋友体验 知乎 编辑:程序博客网 时间:2024/05/17 04:51
一、在shell中,测试会设置返回的状态,test是一个内置命令,test会根据expr表达式的求值结果返回真或者假,同时也可以使用方括号[],test expr和[ expr ]是等价的,可以使用$?来检查返回值。
-o 操作符允许测试利用 set -o 选项 设置的各种 shell 选项,如果设置了该选项,则返回 True (0),否则返回 False (1)
1、文件判断
若判断符合则返回true,判断不符合则为false
-e 文件名 #文件存在则为真-r 文件名 #文件存在且可读则为真-w 文件名 #文件存在且可写则为真-x 文件名 #文件存在且可执行则为真-s 文件名 #文件存在且长度不为0则为真-d 文件名 #文件存在且为目录则为真-f 文件名 #文件存在且为普通文件则为真-c 文件名 #文件存在且为字符型特殊文件则为真-b 文件名 #文件存在且为块特殊文件则为真
2、数字判断
test num1 -eq num2 #num1=num2则为真test num1 -ne num2 #num1!=num2时为真test num1 -gt num2 #num1>num2时为真test num1 -ge num2 #num1>=num2时为真test num1 -lt num2 #num1<num2时为真test num1 -le num2 #num1<=num2时为真
3、两个文件比对的测试
-nt #测试 file1 是否比 file2 更新。修改日期将用于这次和下次比较。-ot #测试 file1 是否比 file2 旧。-ef #测试 file1 是不是 file2 的硬链接。
4、字符串判断
#字符串比较:str1 = str2 #str1=str2时为真str1 != str2 #str1!=str2时为真-z str1 #str1的长度为0的话返回真-n str1 #str1长度不位0的话返回真
注意:
shell中会用到<和>操作符进行重定向,在使用<、>进行字符串的大小比较的时候需要进行转义=>(\<和>)
[]进行判断的时候[ “abc” > “def” ]中括号与字符串中间的空格必须存在!
二、(( )) 和 [[ ]]
(( ))复合命令 计算算术表达式,如果表达式求值为 0,则设置退出状态为 1;如果求值为非 0 值,则设置为 0。不需要对 (( 和 )) 之间的操作符转义。算术只对整数进行。除 0 会产生错误,但不会产生溢出。可以执行 C 语言中常见的算术、逻辑和位操作。 let 命令也能执行一个或多个算术表达式。它通常用来为算术变量分配值。
运行结果:
0 0
- shell学习--[、test测试的使用
- shell 的test测试命令
- shell test的使用
- shell 脚本编写一个用户名,密码,编号的test.txt文件供数据库测试使用
- linux shell编程学习--test测试比较命令
- shell中的test测试命令
- shell判断2.test测试
- Shell test 使用
- shell test命令使用
- shell script学习(三)判断式的使用:test命令以及[ ]
- android中测试方法的使用Test
- shell 的test命令
- 【shell】test , [] , [[]] 的区别
- Shell的test
- shell中test的用法,if的条件使用
- shell 中 test ([])比较字符串 x"$variable"的使用
- shell脚本——test命令的操作使用
- linux 中shell编程中的test的使用
- 模拟缓冲区方法MyBufferedReaderDemo()
- 字符串与数值、字符数组之间的转换
- [libevent]evsignal_process()
- 用openvswitch创建docker容器之间的vxlan网络
- java语言基础入门——继承及多态
- shell学习--[、test测试的使用
- java POI 实现合并单元格
- ios中safari不兼容JavaScript中Date转化为时间戳的问题
- 静态多态入门示例
- twoWay使用
- Python抓取网页内容
- XEN - Xen Project Beginners Guide
- Java正则表达式 预搜索(零宽断言)详解(精)
- iOS获取设备型号