shell --if与test

shell --if与test

1.test命令

  test是shell内置命令,用来检测某个条件是否成立。
  test通常和if语句一起使用,并且大部分if语句都依赖test。

  test命令有很多选项,可以进行数值、字符串和文件三个方面的检测

test命令的用法为:

test expression  #当test判断expression成立时,退出状态为0,否则为非0值

#也可简写为:
[ expression ]  #[ ]写法更简介,使用频率更高

注意:[ ]和expression的两边都有空格,这个空格是必须的,否则会导致语法错误

2.数值比较

test命令的数值比较功能:

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

例子:

#!/bin/bash
#数值条件测试可以用在数字和变量上

val1=10
val2=101

if [ $val1 -gt 5 ]     #检查变量val1是否大于5 
then
        echo "$val1 is greater than 5"  #变量大于5时输出
fi

if [ $val1 -eq $val2 ]                          #检查两个变量是否相等
then
        echo "The values are equal"
else
        echo "The values are different"
fi

在这里插入图片描述
注意:不能在test命令中使用浮点值!
例子:

#!/bin/bash
val1=`echo "scale=4;8 / 3 " | bc`
echo "The test value is $val1"
#不能在test命令中使用浮点值
if [ $val1 -gt 3 ]
then	
	echo "The result is larger than 3"
fi

在这里插入图片描述

3.字符串比较

test命令的字符串比较功能:

比较 说明
str1 = str2 检查str1是否和str2相同
str1 != str2 检查str1是否和str2不同
str1 < str2 检查str1是否比str2小
str1 > str2 检查str1是否比str2大
-n str1 检查str1的长度是否非0
-z str1 检查str1的长度是否为0

1.比较字符串是否相等

[ str1 = str2 ] # 检查str1是否和str2相同
[ str1 != str2 ] #检查str1是否和str2不同
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值