首页  >  问答  >  正文

linux - shell中比较两个数的大小时,当数字太大会变成科学计数法显示,如何解决?

会报错:
syntax error: invalid arithmetic operator
原因好像是数字显示成科学计数法了,if判断数把他当做字符串处理了。

阿神阿神2742 天前774

全部回复(1)我来回复

  • 天蓬老师

    天蓬老师2017-04-17 13:26:20

    sha=1234567890123456789012345678901234567890123456789012345678901
    b=1234567890123456789012345678901234567890123456789012345678902
    
    function lower_than() {
        python -c "import sys; sys.exit(0) if $1 < $2 else sys.exit(1)"
    }
    
    function great_than() {
        python -c "import sys; sys.exit(0) if $1 > $2 else sys.exit(1)"
    }
    
    lower_than $a $b && echo "$a < $b"
    great_than $a $b && echo "$a > $b"
    

    回复
    0
  • 取消回复