继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

shell命令如何比较大小,看过来!

幕布斯7119047
关注TA
已关注
手记 432
粉丝 28
获赞 99

    shell中比较两个数的大小,一般可以使用大小于号:">"、"<"、">="、"<=",和-ge、-gt、-le、-lt

比如:大于输出1,否则输出0

http://img3.mukewang.com/62a062f70001147f08550153.jpg

这种对于-gt的比较方式来说只能比较整数的大小,如果遇到浮点数,或者说是小数,就会报错:

http://img3.mukewang.com/62a063090001de5608380073.jpg

对于大于号这种方式,只能说"看起来没问题"

http://img3.mukewang.com/62a0631d0001db1508440048.jpg

问题就在于:它的浮点数比较是按位比的:

http://img3.mukewang.com/62a0633000016af408440089.jpg

3.0的第一位是3, 20.0的第一位是2,3>2所以被判定为3.0>20.0,判断出错

所以进行浮点数大小的比较,需要用到bc这个命令:
bc 命令是任意精度计算器语言,通常在linux下当计算器用,类似基本的计算器, 使用这个计算器可以做基本的数学运算这样就可以了:

http://img4.mukewang.com/62a064380001e0f708370089.jpg

echo “3.0 > 20.0”|bc 这条命令,如果条件成立,返回的结果就是1,否则就是0
使用bc命令也可以实现加减乘除,除法是整除:

http://img4.mukewang.com/62a0644c00018c5d08440292.jpg

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP