比较浮点数与shell中定义的数字

时间:2016-09-04 10:16:47

标签: shell if-statement

我有以下脚本,我想用它来将#!/bin/sh echo 'Enter a real number' read n echo n=$n if (( $(echo "$n > 0.0" |bc -l) )) then echo 'n is +ve' elif (( $(echo "$n < 0.0" |bc -l) )) then echo 'n is -ve' else echo 'n is zero' fi 与另一个给定的float进行比较。

if

这在我的OS X中运行良好,但bc语句在Linux(Ubuntu)中显示错误(&#34;未找到&#34;)。

什么是更通用的语法? (我猜一个人仍然可以使用{{1}}浮点数。)

1 个答案:

答案 0 :(得分:0)

我觉得使用awk很方便:

if echo $n | awk '$0 > 0.0' | grep -q . ; then
    echo 'n is +ve'
elif echo $n | awk '$0 < 0.0' | grep -q . ; then
    echo 'n is -ve'
else
    echo 'n is zero'
fi