我有一个 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"