linux – 在shell脚本中减去浮点数

我正在尝试使用CPU使用情况在shell脚本中进行一些计算.哪个返回浮点数.但是当我减去这个数字时,我会收到错误.请参阅以下代码和错误.

#!/bin/sh

CPU_IDLE=98.67
echo $CPU_IDLE
CPU_USAGE=$(( 100 - $CPU_IDLE ))
echo $CPU_USAGE

错误

./poc.sh: line 14: 100 - 98.67 : syntax error: invalid arithmetic operator (error token is ".67 ")

解决方法:

bash和ksh都不能执行浮点运算(如果我没记错的话,ksh93支持).我建议切换到zsh或运行外部工具,如bc:

$CPU_IDLE=98.67
$echo "$CPU_IDLE"
$CPU_USAGE=$( bc <<< "100 - $CPU_IDLE" )
$echo "$CPU_USAGE"
1.33
上一篇:1088 Rational Arithmetic (20 分)


下一篇:springboot+ solr 快速入门指南