Shell——条件测试(test)基础语法

条件测试

条件测试的语法有两种

test 条件表达式

[ 条件表达式 ]

注意:中括号“[]”与条件表达式之间一定要有空格,不然会报错

字符串测试

字符串运算符

运算符说明
string判断指定的字符是否为空串
string1=string2判断两个字符串string1和string2是否相等
string1!=string2判断两个字符串string1和string2是否不相等
-n string判断string 是否是非空串
-z string判断string 是否是空串

第一个 单字符串 形式 string 只能借助 test 来判断是否为空串

整数测试

整数测试的语法有两种:

test num1 op num2

[ num1 op num2 ]

num1 和 num2 表示参与比较的两个整数,可以是常量,也可以是变量
op 表示运算符
常见整数运算符

运算符说明
num1 -eq num2比较 num1 是否 等于 num2 ,若 等于 就返回0
num1 -ne num2比较 num1 是否 不等于 num2 ,若 不等于 则返回0
num1 -gt num2比较 num1 是否大于 num2 , 若 大于 则返回0
num1 -lt num2比较 num1 是否小于 num2 , 若 小于 则返回0
num1 -ge num2比较 num1 是否大于等于 num2 , 若 大于等于 则返回0
num1 -le num2比较 num1 是否小于等于 num2 , 若 小于等于 则返回0

以上是针对整数的比较,不能用于比较浮点数什么的,会报错

文件测试

文件测试的语法有两种:

test op file

[ op file ]

上面语法中,op:表示操作符,file:表示要测试的文件名

常用的文件操作符

操作符说明
-a file文件是否存在,如果文件file存在,则结果为 0
-b file文是否存在,且为快文件。如果文件file是一个已经存在的块文件,则结果为 0
-c file文件是否存在,且为字符文件。如果file是一个已经存在的字符文件,则结果为 0
-d file文件是否存在,且为目录。如果文件file是一个已经存在的目录,则结果为 0
-e file同 -a 操作符
-s文件的长度是否大于 0 或文件的为非空文件。如果 file 是一个非空文件,则结果为 0
-f file文件存在,并且为常规文件。如果 file 是一个已经存在的常规文件,则结果为 0
-w file文件是否存在且可写。如果文件 file 是一个可写文件,则结果为 0
-L file文件是否存在,并且为符号链接。如果文件 file 是一个已经存在的符号链接,则结果为 0
-u文件是否设置 suid 位。如果文件 file 已经设置了 suid 位,则结果位 0
-r file文件是否存在,并且可读。如果文件 file 是一个已经存在的可读文件,则结果为 0
-x file文件是否存在,并且可执行。如果文件 file 是一个已经存在的可执行文件,则结果为0
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少歌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值