linux shell编程学习--test测试比较命令
来源:互联网 发布:手机怎么添加wifi网络 编辑:程序博客网 时间:2024/04/30 01:45
在linux shell编程使用的过程中,难免会遇到一些测试和比较问题。shell提供了test命令,方便进行测试比较操作。test不仅可以测试逻辑表达式,还可以进行文件,数字,字符串的比较。本文是一些常见用法的学习总结。
在介绍test命令之前,先简单介绍下shell命令的返回值含义。在shell中,如果命令返回0,则表示成功;任何非0的返回值,都表示失败;同时shell提供了特殊参赛$?来获取上个命令的返回值。
文件比较操作
test命令,支持文件比较操作。主要可以比较两个文件是否为同一个文件,两个文件修改时间的先后。
在下面的例子中,分别有三个文件,其中file2.txt是file1.txt的硬链接。
shuanghu@shuanghu:test_command$ls -l-rw-rw-r-- 2 shuanghu shuanghu 0 5月 14 12:21 file1.txt-rw-rw-r-- 2 shuanghu shuanghu 0 5月 14 12:21 file2.txt-rw-rw-r-- 1 shuanghu shuanghu 0 5月 14 12:22 file3.txtshuanghu@shuanghu:test_command$ test file1.txt -ef file2.txt ;echo $?1shuanghu@shuanghu:test_command$ test file1.txt -ef file3.txt ;echo $?0shuanghu@shuanghu:test_command$ test file1.txt -nt file3.txt;echo $?0shuanghu@shuanghu:test_command$ test file1.txt -ot file3.txt ;echo $?1
文件属性操作
test命令可以判断文件是否存在,以及侦测各种的文件属性。
算术比较运算
在shell中,test命令可以比较两个数字的大小,相等等。
使用例子如下:
shuanghu@shuanghu:tmp$ test 1 -eq 2 ;echo $?1shuanghu@shuanghu:tmp$ test 1 -ge 2 ;echo $?1shuanghu@shuanghu:tmp$ test 1 -gt 2 ;echo $?1shuanghu@shuanghu:tmp$ test 1 -le 2 ;echo $?0shuanghu@shuanghu:tmp$ test 1 -lt 2 ;echo $?0shuanghu@shuanghu:tmp$ test 1 -ne 2 ;echo $?0
字符串比较运算
shell中,test命令,也可以进行字符串的比较。包括判断字符串是否为空,大于,小于,等于等常见操作。
具体shell中字符串的操作,可以详细见本人的另外一篇博客《shell编程学习–字符串的使用操作》
逻辑运算
test可以进行基本的逻辑运算
shuanghu@shuanghu:tmp$ test 1 -lt 2 ;echo $?0shuanghu@shuanghu:tmp$ test ! 1 -gt 2 ;echo $?0shuanghu@shuanghu:tmp$ test 1 -lt 2 -a 2 -eq 2;echo $?0shuanghu@shuanghu:tmp$ test 1 -lt 2 -o 2 -ne 2;echo $?0
0 0
- linux shell编程学习--test测试比较命令
- Linux-Shell脚本编程-学习-6-Shell编程-使用结构化命令-文件比较-case编程
- Linux Shell Test 命令
- Linux shell test,[...] 命令
- Shell脚本基础学习(四)----test命令与比较
- shell中的test测试命令
- shell 的test测试命令
- Shell编程之 “test”命令
- shell编程test命令用法
- LINUX SHELL中的TEST命令
- LINUX SHELL中的TEST命令
- shell部分test比较命令使用
- shell中用test命令进行字符串测试
- shell脚本编程<三>:test命令
- shell 编程基础-----test或[ 命令
- Linux命令,Shell编程
- shell学习--[、test测试的使用
- Linux Shell : Test命令参数解析
- 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)
- DOJ - 1002 Least Subsequence
- Node.js 学习笔记 —— console 控制台
- HDU组合游戏与博弈论入门小结(未完
- 线程的基本概念,状态,和状态之间的关系
- linux shell编程学习--test测试比较命令
- spring中lazy-init详解
- 101.[Leetcode]Symmetric Tree
- The Perfect Stall
- Fragment生命周期详解
- tomcat 基于apr配置https
- 线性表的顺序存储——顺序表
- Android利用文本框监听器做出在输入的过程中就能出查询结果的效果
- XMG CALayer 自定义