Linux 受限 Bash shell 执行算术计算

Linux 受限 Bash shell 执行算术计算

我有一个 shell 脚本来计算虚拟机中的 cpu 和内存资源。对于一项任务,我想在 rbash shell 中执行数学计算。您能否指导我可能的解决方法。

我一直在尝试像

echo $a / 1024 | bc

我正在尝试以下替换并收到以下错误。你能告诉我吗

这两个变量也都有十进制值。像 0.4、10.0 一样,需要减去并得到值

for used_cores in `echo (( $config_cpu - $free_cpu )) | grep [0-9] || echo NA`
do
echo $used_cores
done

错误:

bash: command substitution: line 12: syntax error near unexpected token `('

该问题似乎与参考问题不同。你能考虑一下这个问题吗?

答案1

对于整数值$a(您没有给出示例值),该命令echo $a / 1024 | bc应该在rbash.即使在脚本之外。

如果您使用整数算术(这似乎是您没有告诉过的情况bc),您甚至可能不需要调用:

echo $(( a/1024 ))

“为我工作”。

答案2

这是一个普通的 shell,所以算术运算符可以工作:

value=$(( a / 1024 ))
echo "$value"

相关内容