我在 bash 中有这一行,
cpu=`top -bn1 | grep“CPU”| sed "s/.*, *\([0-9.]*\)%* id.*/\1/"| awk '{print $1}'
如果我回显它,但在下一行中作为方程的一部分使用时,那就按照我想要的方式工作了。
joulesFinal=$(($joules2*$cpu))
我从系统中收到错误
算术表达式:期望 EOF:“6*93.4”
感谢帮助!
最佳答案
Bash 算术仅是整数。它不接受像 93.4 这样的小数。
您需要通过 bc
对表达式进行管道传输。
joulesFinal=`echo $joules2 * $cpu | bc`
关于linux - 来自 Linux 的 CPU 使用情况,然后在算术表达式中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693415/