加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在bash脚本中重写浮点数的正确语法

发布时间:2020-12-15 21:10:18 所属栏目:安全 来源:网络整理
导读:参见英文答案 How to compare two floating point numbers in Bash?????????????????????????????????????15个 我有一个问题是在bash脚本中从这个条件发出命令,因为bash脚本不支持float number. if ([ $first_util -gt 0.10 ] || [ $first_util -le 1.00 ])
参见英文答案 > How to compare two floating point numbers in Bash?????????????????????????????????????15个
我有一个问题是在bash脚本中从这个条件发出命令,因为bash脚本不支持float number.

if ([ $first_util -gt 0.10 ] || [ $first_util -le 1.00 ]) && [ $first_sig -ge $first_sig_min ]; then
  #state1   
else
  #state2   
fi

我希望第一个和第二个条件将首先使用’或’处理,然后使用’和’处理第三个条件,但在这种情况下,所有数字都是浮点数,而不是整数.

如何解决这个问题呢?谢谢

解决方法

你可以使用awk:

first_util=0.2
first_sig=0.8
first_sig_min=0.9
awk_input="$first_util $first_sig $first_sig_min"
if awk '{ exit !(($1 > 0.1 || $1 <= 1.0) && ($2 >= $3)) }' <<< "$awk_input"; then
      echo "OK"
fi

以上使用if测试中awk的返回值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读