Linux的CPU使用率,然后在算术expression式中使用它

我在bash中有这个行,

cpu = `top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print $1}' `top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print $1}'

如果我回应它,​​但是在下一行中用作方程的一部分,则按照我的要求工作。

joulesFinal=$(($joules2*$cpu))

我从系统得到错误

arithmetic expression: expecting EOF: "6*93.4"

帮助赞赏!

Bash算术只是整数。 它不会接受像93.4这样的分数。 您需要通过bc管道表达式。

 joulesFinal=`echo $joules2 * $cpu | bc`