計算されたCPU負荷をパーセントで表示したいと思います。
num2=$(uptime | grep "average:" | tr -d " " | cut -d ':' -f 5 | cut -d ',' -f 2)
percent=$((num2(*100)))
echo 'CPU percentage' $percent
私は何を逃したことがありませんか?
答え1
計算percent
をbc
。
percent=$(echo "scale=0;$num2*100" | bc)
端を切り取るために使用できる「41.00」などの数字が表示されます。
percent=${percent%.*}
答え2
あなたのnum2
価値は次のとおりです0.41
。 bash
整数計算のみ実行でき、浮動小数点計算は実行できません。そのため、次のエラーメッセージが表示されます。
bash: 0.41 * 100 : syntax error: invalid arithmetic operator (error token is ".41 * 100 ")
文章を使用するときは、点を削除してみてくださいtr -d
。これは100を掛けるのと同じです。
答え3
簡単なawk
コマンドを考えてみましょう。
uptime | awk '/average/ {printf "CPU percentage %5.2f", $11*100}'