仮想マシンのCPUとメモリリソースを計算するシェルスクリプトがあります。 1つの操作でrbashシェルで数学計算を実行したいと思います。考えられる解決策を案内してもよろしいですか?
私は次のことを試してきました
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
これは通常のシェルなので、算術演算子が機能します。
value=$(( a / 1024 ))
echo "$value"