基本语法
常用判断条件
整数之间比较
注:如果是字符串之间的比较 ,用等号"="判断相等;用"!="判断不等
按照文件权限进行判断
按照文件类型进行判断
test condition
注意:条件非空即为 true,[ content ]返回 true,[ ] 返回 false
# 条件之间没有空格,当成表达式,返回true [root@zookeeper1 shell]# test a=hello [root@zookeeper1 shell]# echo $? 0 # 条件之间有空格,进行判断,返回fasle [root@zookeeper1 shell]# test a = hello [root@zookeeper1 shell]# echo $? 1
关于$?的作用,如果不清楚可以参考文档:https://www.cnblogs.com/Y-wee/p/16183614.html
[ condition ]
# 判断1和1是否相等 [root@zookeeper1 shell]# [ 1 -eq 1 ] [root@zookeeper1 shell]# echo $? 0 # 判断1和2是否相等 [root@zookeeper1 shell]# [ 1 -eq 2 ] [root@zookeeper1 shell]# echo $? 1 # 判断当前路径下param.sh脚本是否具有读的权限(不加路径默认为当前路径) [root@zookeeper1 shell]# [ -r param.sh ] [root@zookeeper1 shell]# echo $? 0 # 判断当前路径下param.sh脚本是否存在(不加路径默认为当前路径) [root@zookeeper1 shell]# [ -e param.sh ] [root@zookeeper1 shell]# echo $? 0
多条件判断
&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令(相当于Java中的三目运算符)
# [ hello ]返回true,执行echo a,||上一条命令执行成功,不执行echo b [root@zookeeper1 shell]# [ hello ] && echo a || echo b a # [ ]返回false,不执行echo a,||上一条命令执行失败,执行echo b [root@zookeeper1 shell]# [ ] && echo a || echo b b