shell中 if 命令与 test 命令搭配使用的奇妙碰撞

test命令的用法

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值字符串文件三个方面的测试。
在这里插入图片描述

数值比较

可以用在数字和变量上
在这里插入图片描述

字符串比较

在这里插入图片描述

文件比较

在这里插入图片描述

数值测试

比较变量的值和数字的大小,比较变量的值和变量的值的大小

方法一

在这里插入图片描述

在这里插入图片描述

方法二(不常用)

在这里插入图片描述在这里插入图片描述

test命令中不能使用浮点数

在这里插入图片描述
在这里插入图片描述

字符串的比较

小知识:
echo $USER 输出当前系统的正在登录的用户
在这里插入图片描述

判断当前登录用户是否为root(等于和不等于比较)

(1)
在这里插入图片描述在这里插入图片描述(2)
在这里插入图片描述在这里插入图片描述(3)
在这里插入图片描述在这里插入图片描述

判断两个字的字符串的大小(大于小于比较)

错误写法,不转义大于号时,shell会将<识别为输出重定向,它会创建hockey文件。因为系统会执行重定向(if后面)的语句,所以退出状态为0,判断条件为真,所以会执行then后面的语句。
在这里插入图片描述

在这里插入图片描述
正确写法应该转义大于号

大于小于号必须转义,否则shell会将大于号看做输出重定向,而把字符串看作文件名。
在这里插入图片描述在这里插入图片描述

判断字符串长度是否为0(是否为0比较)

在这里插入图片描述在这里插入图片描述

字符串

小知识:(输出当前用户的家目录)
在这里插入图片描述

判断目录是否存在(-d)

在这里插入图片描述在这里插入图片描述

判断文件是否存在(-e)

在这里插入图片描述

判断文件是否存在并且是一个普通文件(-f)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

判断文件是否可读(-r)

在这里插入图片描述在这里插入图片描述tail filename 为输出filename的最后10行内容

如果文件是否存在并且非空(-s)

在这里插入图片描述
在这里插入图片描述当在文件中追加数据时
在这里插入图片描述

如果文件存在且可写为真(-w)

测试此文件 需要切换至普通用户
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

测试文件是否可执行(-x)

在这里插入图片描述在这里插入图片描述

判断文件是否存在并且属于当前用户所有(-O)

在这里插入图片描述在这里插入图片描述

判断文件是否存在并且默认组与当前用户的相同(-G)

在这里插入图片描述在这里插入图片描述

判断文件的创建时间的早晚(新旧)(-nt|-ot)

在这里插入图片描述
在这里插入图片描述

复合条件测试

在这里插入图片描述在这里插入图片描述在这里插入图片描述

if-then的高级特性

在这里插入图片描述双尖括号(())
方括号—>有针对字符串比较高级的特性—>通配功能

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值