51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

shell编程中 整数比较 以及多整数比较 [ 10 -gt 5 ]

shell编程中 整数比较

(1) test A -gt B

test 10 -gt 4 && echo 正确 || echo 不正确

(2) [ A -gt b] (注意空格)

[ 10 -gt 5 ]&& echo 正确 || echo 错误

比较符:

比较符:
-eq  相等
-ge  大于或者等于
-gt  大于
-le  小于或者等于
-lt  小于
-ne  不等于

表达式中支持命令

[ `cat /etc/passwd| wc -l` -eq 0 ] && echo "等于0...." || echo "不等于0...."

1: 统计磁盘使用率,如果大于10% 则告警发送邮件,小于10% 则提示磁盘使用正常,当前使用率是多少

[root@baimeidashu ~]#df -h | grep 'sda3' | awk '{print $5}'
11%

![](http://static.51tbox.com/static/2024-08-29/col/b1438aef954afcf9661070581cb57630/6938cb40d4a640598c531ee63f18fbd7.png.jpg)

[root@web00 day02]# cat disk.sh 
#!/bin/bash
#第一步获取磁盘的使用率
use_disk=$(df -h|awk 'NR==6{print $(NF-1)}')

#第二步整数比较
if [ ${use_disk%\%} -gt 10 ]
then
    echo 当前的磁盘使用率: $use_disk > /tmp/disk.log
    mail -s "磁盘使用率告警通知" 2334537366@qq.com < /tmp/disk.log
	i=1
else
    echo 当前磁盘使用正常,使用率为$use_disk
fi

if [ $i -eq 1 && ${use_disk%\%} -lt 10 ] 
then 
    echo 恢复...
fi

多整数比较:

多整数比较:
-o or 或者
-a and 并且

[ 10 -eq 10 -o 100 -gt 20 ] && echo 正确 || echo 错误

注意: 在正则表达式中使用的比较符
(())
>
<

>=
<=
!=

[root@web00 day02]# ((10<2))
[root@web00 day02]# echo $?
1
[root@web00 day02]# ((10>2))
[root@web00 day02]# echo $?
0
[root@web00 day02]# ((10==2))
[root@web00 day02]# echo $?
1
[root@web00 day02]# 
[root@web00 day02]# ((10!=2))
[root@web00 day02]# echo $?
0

多整数比较使用: && 并且 || 或者

[root@web00 day02]# ((10==10 && 10>3))
[root@web00 day02]# 
[root@web00 day02]# ((10==10 && 10>3))
[root@web00 day02]# echo $?
0
[root@web00 day02]# ((10==10 && 10<3))
[root@web00 day02]# echo $?
1
[root@web00 day02]# ((10==10 || 10<3))
[root@web00 day02]# echo $?
0

欢迎来撩 :shell 编程从0到1

赞(0)
未经允许不得转载:工具盒子 » shell编程中 整数比较 以及多整数比较 [ 10 -gt 5 ]