Shell脚本 - 比较if if else中的浮点数

时间:2016-06-28 04:06:33

标签: linux bash shell if-statement

我需要在if中的浮点数之间进行比较。 例如,

if [ "$ {restogpsweek [0]} -gt 0.1"] && [ "$ {restogpsweek [0]} -lt 2.2"]

if [ "$ {restogpsweek [0]} -gt 0.1" | bc] && [ "$ {restogpsweek [0]} -lt 2.2" | bc]

if [`echo" $ {restogpsweek [0]} -gt 0.1 "| bc`] && [ `echo" $ {restogpsweek [0]} -lt 2.2 "| bc`]

就我的节目而言,我已经尝试过......

{{1}}

和" n"其他的东西,没有找到...

有谁知道如何进行这些比较?

拥抱

1 个答案:

答案 0 :(得分:1)

bash不能做浮点算术。

您可以使用更高级的shell,例如zsh

% [[ 1.1 -gt .45 ]] && echo 'Ok'
Ok

或使用bc进行比较:

$ echo '1.1 > .45' | bc -l
1
如果为真,则

bc返回1,如果为假,则返回0。