最基本的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、文件比较