shell中test命令用法说明

参考:https://blog.csdn.net/duguteng/article/details/7725845?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.channel_param

简介

 test命令用于检查某个条件(表达式为真)是否成立,它可以进行数值、字符串和文件三个方面的测试比较。详情查看附录1

test和[区别

test 和 [ 命令
  Linux 和 UNIX 的每个版本中都包含 test 命令,该命令还有一个更常用的别名 — 左方括号:"["。test 及其别名通常都可以在 /usr/bin 或 /bin (取决于操作系统版本和供应商)中找到。

test 和 [ 的语法

test expression
[ expression ]

 test和[都判断一个表达式,然后返回真或假。如果它和 if、while 或 until 命令结合使用,则您可以对程序流进行广泛的控制。不过,您无需将 test 命令与任何其它结构一起使用;您可以从命令行直接运行它来检查几乎任何东西的状态。
 使用 时test 或 [ 均需要一个表达式,表达式一般是文本、数字或文件和目录属性的比较,并且可以包含变量、常量和运算符。运算符可以是字符串运算符、整数运算符、文件运算符或布尔运算符

与if用法示例

if test condition
then
	commands
fi	

等效于

if [ condition ]
then
	commands	
fi

如果condition返回结果为真,则执行commands语句,否则结束

附录1

表一 数值比较

比较描述
n1 -eq n2n1是否与n2相等
n1 -ge n2n1是否大于或等于能n2
n1 -gt n2n1是否大于n2
n1 -le n2n1是否小于或等于n2
n1 -lt n2n1是否小于n2
n1 -ne n2n1是否不等于n2

表二 字符串比较

比较描述
str1 = str2str1是否和str2相同
str1 != str2str1是否和str2不同
str1 < str2str1是否比str2小
str1 > str2str1是否比str2大
-n str1str1的长度是否非0
-z str1str1的长度是否为0

表三 文件比较

比较描述
-d filefile是否存在且是一个目录
-e filefile 是否存在
-f filefile是否存在且是一个文件
-r filefile是否存在且可读
-s filefile是否存在且非空
-w filefile是否存在且可写
-x filefile是否存在且可执行
-O filefile是否存在且属当前用户所有
-G filefile是否存在且默认组与当前组相同
file1 -nt file2file1是否比file2新
file1 -ot file2file是否比file2旧
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五彩缤纷的代码世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值