linux - 来自 Linux 的 CPU 使用情况,然后在算术表达式中使用它

标签 linux bash arithmetic-expressions

我在 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/

相关文章:

linux - 如何完全消除 makefile 中的 mv 错误?

linux - 如何列出安装在使用 oe-core 构建的目标 rootfs 中的包?

java - 如何在 linux 上用 javaFX 播放视频

bash - 计算文件中 10 位数字的个数

java - 算术表达式的正则表达式

java - Java Println 如何评估特殊符号和算术运算?

linux - 尝试安装其他软件包时Nginx出现问题

bash - 终端 - 对整个目录运行 'file' (文件类型)

linux - 查找一个文件中包含的行字符串并将其替换为 shell 脚本中的第二个文件

linux - 在 bash 脚本中添加数字表示 "not found"