linux结构化命令:if-then

最基本的if-then结构:

if  commond

then  

commonds

fi


一、在java中,if条件是使用TURE或者FALSE来做判断,在shell中,则是根据命令的退出状态来的。

如果如果成功执行命令,状态为0,则执行then后面的命令,如果没有成功执行命令,状态为0

以外的其他值,则then后面的命令则不会执行。bash shell 会移动到脚本的下一条命令。


如下是一个脚本:test1.sh



执行结果如下:



可以看到,在第一个if条件中,"dafadfa"肯定是执行不了的,所以报错"command not found”

在 “elif” 中,"date"执行成功,返回0,所以执行了then后面的打印


二、利用test命令做条件判断

在上面的脚本中,if判断的依据都是根据if条件中的命令是否能够执行来作为依据,然而在很多情况下,我们需要比较大小,比较是否

相等。。。我们可以利用test命令,来达到我们的目的。


test命令提供一种检测if-then语句中不同条件的方法。如果test命令中列出的条件评估值为true,test命令则以0的状态码。这是if-then与

其他编程语言中的if-then一样的方法运行。如果test命令中列出的评估值为false,则if-then语句失败

test使用如下:

if  test condition

then

commonds

fi


还有另外一种方式:

if  [ condition]

then 

commdonds

fi


test命令能够评估一下三类条件:

1、数值比较

2、字符串比较

3、文件比较


a、数值比较


测试脚本test2.sh:



执行test2.sh,结果如下:



b、字符串比较



c、文件比较



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值