谈一谈关于shell编程中的整数值比较的两种方式
Shell编程有时处理一个对象时,需要我们对对象进行测试。
只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错。
这个测试的对象可以是文件、字符串、数字等等。
下面我们来简单的看一下对于整数值比较。
1、整数值比较方式一
格式:
[ 整数1 操作符 整数2 ]
常用操作符:
-eq:
等于,equal
-ne:
不等于,not equal
-gt:
大于,greater than
-ge:
大于等于,greater equal
-lt:
小于,lesser than
-le:
小于等于,lesser equal
案例:
//查看当前登录用户
[odysee@kingdom shellFiles]$ who
root pts/0 2019-02-16 11:36 (39.71.1.202)
//统计当前登录用户数赋值给count
[odysee@kingdom shellFiles]$ count=$(who | wc -l)
//整数值比较
[odysee@kingdom shellFiles]$ [ ${count} -eq 1 ] && echo "当前登录用户为1" || "当前登录用户不为1"
当前登录用户为1
2、整数值比较方式二
格式:
((整数1 操作符 整数2))
操作符:
>
<
!=
==
案例:
//定义两个变量
[odysee@kingdom shellFiles]$ a=9527
[odysee@kingdom shellFiles]$ b=9528
//执行整数值比较
[odysee@kingdom shellFiles]$ ((${a}>${b})) && echo "yes" || echo "no"
no
[odysee@kingdom shellFiles]$ ((${a}
yes
//这里(())中的变量是可以不用加$符号的
[odysee@kingdom shellFiles]$ ((a
yes
测试完成
补充:
针对于方式一(比较传统的方法)
方式二的操作符更加直观
方式二(())中的变量也是可以不用加$
等等
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。