您的位置 首页 shell脚本

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%

[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

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章