热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

test

test命令test的条件不支持模糊匹配,必须用完全匹配。 格式:test        condition测试范围:整数,字符串,文件,条件成立,那么命令返回退出状态码为0. 变量测试语句可以用[]进行简化:test

test命令

test的条件不支持模糊匹配,必须用完全匹配。

 

格式:

test         condition

测试范围:整数,字符串,文件,条件成立,那么命令返回退出状态码为0.

 

变量测试语句可以用[]进行简化:

test         condition       等价于           [ condition ]  (condition前后都要空格)

最好写成 [[confition ]]

 

在if语句中的格式:

if     test         condition

if     [[ condition ]]          只能进行简单运算的比较

 

整数测试:

int1         -eq          int2         测试整数是否相等(equal)

int1         -ge          int2         测试int1是否大于等于int2(greater equal)

int1         -gt          int2         测试int1是否大于int2(greater than)

int1         -le          int2         测试int1是否小于等于int2(less equal)

int1         -lt           int2         测试int1是否小于int2(less than)

int1         -ne          int2         测试整数是否不等(noequal)

 

字符串测试:

str1  = str2         测试字符串是否相等,等价于 str1 == str2,=前后一定要空格,否则为赋值。

str1 != str2            测试字符串是否不相等

str1 \

str1 \> str2             测试字符串str1是否大于str2

-n    str1                测试字符串是否不为空(长度大于0)

-z    str1                测试字符串是否为空(长度为0)

注意:大于和小于要使用转义字符,否则会当作重定向。

在test中大写字母小于小写字母。

 

文件测试:

-e    file                指定file存在

! –e file ]              判断文件不存在。

-d    file                指定file是否为目录

-f     fiel                指定file是否为常规文件(二进制文件)

-r     file                指定file是否可读

-w   file                指定file是否可写

-x    file                指定file是否可执行

-a    file                指定file是否存在

-s     file                file是否非蕶(不为空)

-O   file                file是否被当前用户拥有

-G   file                file默认组是否是当前用户组

-h  / -L     file         文件是软连接      

file1 –nt   file2        检查file1是否比file2新

file1 -ot   file2         检查file1是否比file2旧


test命令的退出状态码,当条件为真返回码为0,条件为假退出状态码为非0.

 

复合条件检查:

[[ condition1 ]]  &&  [[ condition2 ]]                  两个条件都满足才执行then,等效于-a

[[ condition1 ]]  ||  [[ condition2 ]]                  任意一个满足就执行then,等效于-o


未完待续......


推荐阅读
  • 作为一名即将步入职场的应届毕业生,我在选择职业路径时面临两个选项:SAP的ABAP开发或大数据技术。对于SAP领域,我的目标是成为一名顾问。面对这两个方向,哪一个具有更好的发展前景,哪一个更容易上手?希望各位前辈能提供一些见解。 ... [详细]
  • 狮子数学:第六百零五章 阿贝尔定理(第九十九讲)
    本章节深入探讨了阿贝尔定理的核心内容及其在数学分析中的应用,通过具体的例子和详细的证明过程,帮助读者更好地理解和掌握这一重要理论。 ... [详细]
  • 使用CorelDRAW X7轻松绘制卡通风格杯子教程
    本文将引导您通过CorelDRAW X7软件,利用贝塞尔工具和交互式填充功能,创作出一个既可爱又生动的卡通杯子。我们将详细介绍每个步骤,帮助您掌握绘制技巧。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • 本文探讨了线性表中元素的删除方法,包括顺序表和链表的不同实现策略,以及这些策略在实际应用中的性能分析。 ... [详细]
  • 本文深入解析宋代著名词人宋方君的作品《风流子》,通过细腻的译文和独到的赏析,带领读者走进词人的内心世界,感受其独特的艺术魅力。 ... [详细]
  • 本文将详细介绍如何在Adobe Illustrator中实现仅移动一个对象以完成对齐,同时确保另一个对象保持原位不变的方法。通过具体的操作步骤,帮助设计师们更加高效地完成设计任务。 ... [详细]
  • Python网络编程:深入探讨TCP粘包问题及解决方案
    本文详细探讨了TCP协议下的粘包现象及其产生的原因,并提供了通过自定义报头解决粘包问题的具体实现方案。同时,对比了TCP与UDP协议在数据传输上的不同特性。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文探讨了在无法使用个人身份信息的情况下,利用他人(如网络上公开的个人信息)注册游戏账号的行为及其潜在的法律和道德问题。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 本题提供了一个区间数组 intervals,其中每个区间 intervals[i] 包含两个整数 [starti, endi],并且所有 starti 值各不相同。任务是找到每个区间的右侧区间,即存在一个区间 j 满足 startj >= endi 并且 startj 是尽可能小的。返回一个数组,该数组包含每个区间右侧区间的索引;如果没有合适的右侧区间,则返回 -1。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
author-avatar
tina田小甜Shirley
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有