shell数据比较运算

 

一,shell中的运算

 

1,数学比较运算(整型)

 

-eq  等于

-gt  大于

-lt  小于

-ge  大于或等于

-le  小于或等于

-ne  不等于

 

[root@CentOs shell]# test 1 -eq 1;echo $?
0(相等返回0)
[root@CentOs shell]# test 1 -gt 1;echo $?
1(不相等返回1)
[root@CentOs shell]#



遇到小数怎么处理?

转换为整数比较!


[root@CentOs shell]# echo "1.5*10"|bc
15.0

[root@CentOs shell]# echo "1.5*10"|bc|cut -d '.' -f1(以“.”为分隔符,打印点的前一位)
15
[root@CentOs shell]# test  `echo "1.5*10"|bc|cut -d '.' -f1` -eq $((2*10));echo $?
1
[root@CentOs shell]#


或者放在脚本中执行

 

[root@CentOs shell]# vim ShellTest

#!/bin/bash

NUM1=`echo "1.5*10"|bc|cut -d '.' -f1`
NUM2=$((2*10))
test $NUM1 -eq $NUM2;echo $?

[root@CentOs shell]# bash ShellTest
1
[root@CentOs shell]# bash -x ShellTest (-x相当于debug)
++ echo '1.5*10'
++ bc
++ cut -d . -f1
+ NUM1=15
+ NUM2=20
+ test 15 -eq 20
+ echo 1
1
[root@CentOs shell]#


 

posted @ 2022-04-03 09:35  屯子里唯一的架构师  阅读(198)  评论(0编辑  收藏  举报