*
こんにちは。プロセッサのロードをアスタリスク()でマークし、10秒ごとにファイルに書き込むコマンドファイルを生成しようとしています。 load = 1 = 星 10 個 ( *
)、load > 0.5 の場合、星の順序より前の時刻と日付も記録されます。
答え1
#!/bin/bash
function doload {
load="$(uptime | rev | cut -d $' ' -f 3 | rev | tr ',' '.')" #load average over the last 1 minute
var="$(bc <<< "${load::4}*10" | cut -d '.' -f 1)"
if [[ -z "$var" ]]; then echo ""; return; fi
if (( $(echo "${load::4} > 0.5" | bc -l) )); then
echo -n "$(date) "
for ((i=0; i < "$var"; i++)); do
echo -n \*
done
echo ""
else
for ((i=0; i < "$var"; i++)); do
echo -n \*
done
echo ""
fi
}
while true; do
doload
sleep 10
done
~へ0.19ロードすると、1が印刷され、*
ロードされます。1.79 番号17*