【发布时间】:2011-08-28 19:27:27
【问题描述】:
我正在尝试检查我从文本文件中读取的值是否为零:
[[ $(echo $line | cut -d" " -f5) -gt 0 ]] && [[ $(echo $line | cut -d" " -f7 | bc -l) -eq 0 ]]
第一个条件没有问题,因为 f5 是整数。问题来自第二个条件。我收到此错误消息:
[[: 1.235: syntax error: invalid arithmetic operator (error token is ".235")
我尝试了一些在不同论坛中找到的建议,例如使用带双引号和不带双引号的echo $line | cut -d" " -f7 | bc -l 等。但是,错误仍然存在。 f7 为正数,保留 3 位小数。删除小数或近似不是一个选项,因为我需要结果完全为零 (0.000)。
【问题讨论】:
标签: bash floating-point comparison numbers