shell脚本中的整数测试
author:headsen chen 2017-10-17 13:58:12
个人原创,转载请注明作者,出处,否则依法追究法律责任
1,test用法:test 表达式(注意:只能用 gt,lt,le,ge,le,单括号中也是这种用法,不能用大小符号)
[root@linux-node1 a]# x=5;y=10
[root@linux-node1 a]# test $x -gt $y
[root@linux-node1 a]# echo $?
1
[root@linux-node1 a]# test $x -lt $y
[root@linux-node1 a]# echo $?
0
2,let用法:let “表达式” (只能使用==,>,>=,<,<=,双圆括号中也是这种用法)
[root@linux-node1 a]# x=1;;let "$x == 1";echo $?
3,逻辑测试
[ 表达式1 -a 表达式2 ] 两个表达式都为真时,返回结果为真 --------------------逻辑与
[ 表达式1 -o 表达式2 ] 两个表达式有一个为真时,返回结果为真 ------------------ 逻辑或
[ ! 表达式 ] 表示式的结果取反 -------------------- 逻辑非
[root@linux-node1 a]# [ 1 -le 13 -a 5 -le 14 ]
[root@linux-node1 a]# echo $?
0
[root@linux-node1 a]# [ 1 -gt 13 -a 5 -le 14 ];echo $?
1
注意:[ ]内一定要用 -le,lt,eq,gt,ge等字母比较符,若用>,<等,比较的结果不准确。
[root@linux-node1 a]# [ 1 > 13 -a 5 > 14 ]
[root@linux-node1 a]# echo $?
0
双方括号中的逻辑判断格式:
双方括号中只能使用 && || !来连接多个表达式。而不能用-a,-o 等字母。