Скрипт Bash, арифметика с переменными / строками с плавающей точкой, которые их представляют
Я пытаюсь создать простой сценарий, который принимает средний процент загрузки процессора каждую минуту. Я делаю это с помощью sar
команда от sysstat
пакет.
Вот мой текущий код:
#!/bin/bash
sar -u 1 10 | grep Average > /custom/tmp/idlefile
idleval=`awk '{print $8}' /custom/tmp/idlefile`
rm /custom/tmp/idlefile
rm -rf /custom/idlepercentage/*
touch /custom/idlepercentage/$idleval
exit 0
Проблема в том, что единственное, что он может сделать сейчас, это вывести процент простоя. Я бы хотел, чтобы он просто выводил процент загрузки.
Я попытался сделать это путем:
loadval=100.00-`echo $idleval`
но это кричит на меня и не будет делать то, что я прошу это сделать.
Кажется, что это не будет делать основную арифметику, чтобы сделать 100% - бездействующий процент, чтобы дать процент загрузки.
1 ответ
Решение
Это должно работать:
loadval=$(sar -u 1 10 | awk '{print 100-$8}')