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

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

阅读 7.5k
1 个回答
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"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题