条件判断:如果……否则……
bash中如何实现条件判断?
条件测试类型:整数测试
字符测试
文件测试
条件测试的表达式:[ expression ](注意有空格)(一个中括号是bash命令)
[[ expression ]] (两个中括号是bash关键字)
test expression
整数比较:
-eq:测试两个整数是否相等,比如 $A -eq $B
-ne:测试两个整数是否不等:不等为真,相等为假
-gt:测试一个数是否大于另一个数:大于为真,否则为假
-lt:测试一个数是否小于另一个数,小于为真,否则为假
-ge:大于或等于
-le:小于或等于
命令间的逻辑关系:
逻辑与:&& 第一个条件为假时,第二条件不用再判断,最终结果已经有
第一个条件为真时,第二条件必须得判断
逻辑或:|| 第一个条件为真时,第二条件不用再判断,最终结果已经有
第一个条件为假时,第二条件必须得判断
条件判断,控制结构:
单分支的if语句:
if 判断条件; then
statement1
statement2
...
fi
双分支的if语句:
if 判断条件; then(then可以单独成一行,但如果和if在一行,分号;不可少)
statement1
statement2
...
else
statement3
statement4
...
fi
if后接的判断条件可以是一个条件测试的表达式的结果,也可以是一个命令的执行状态返回值,比如当执行状态返回值为0,则命令执行成功,也可以判断为条件成立