算術計算を実行するためのLinux制限 Bashシェル

算術計算を実行するためのLinux制限 Bashシェル

仮想マシンの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"

関連情報