我正在使用 iostat 获取当前每秒的磁盘负载iostat -dx 1
(特别是 %util 列)。但是,我想将其放入 bash 脚本中并使用watch
以下命令控制间隔:watch -n 1 ./script.sh
。
运行以下命令script.sh
不会打印任何内容:
io_load=`iostat -dx 1`
echo $io_load
有任何想法吗?
答案1
您iostat -dx 1
将不会终止并持续报告值。 (1
指的是计数的间隔。)
你可能想要类似的东西
io_load=$(iostat -dx)
echo "$io_load"
答案2
的手册页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
。