Текущая дисковая нагрузка

Я использую iostat, чтобы каждый раз загружать текущую нагрузку на диск с помощью iostat -dx 1 (особенно,% util column). Тем не менее, я хотел бы поместить это в сценарий bash и контролировать интервал с помощью команды watch например: watch -n 1 ./script.sh .

Выполнение следующего в script.sh не будет печатать вещь:

 io_load=`iostat -dx 1` echo $io_load 

Есть идеи?

На странице руководства iostat говорится:

  The interval parameter specifies the amount of time in seconds between each report. The first report contains statistics for the time since system startup (boot), unless the -y option is used (in this case, this report is omitted). Each subsequent report contains statistics collected during the interval since the previous report. 

Это означает, что первый вывод iostat -dx 1 будет таким же, как iostat -dx , но последующие выходы разные. – Вы не можете воспроизвести это поведение с помощью watch .

Ваш iostat -dx 1 не будет завершать и непрерывно сообщать значения. ( 1 относится к интервалу к счету.)

Вы, вероятно, хотите что-то вроде

 io_load=$(iostat -dx) echo "$io_load"