我想看到的是每 30 秒发出一次df /
但在前一个数字之后的同一行上的百分比。
所以最终的输出是86% 86% 86% 87% 87% ......
可以是一行代码吗?或者多行“程序”?
答案1
答案2
while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do
sleep 30
done
echo
答案3
您可以使用watch
:
watch -n 30 -t df /
但这会覆盖现有的输出
答案4
对于bash:
i=1
outputs_per_line=10
frequency=30
while true; do
echo -n "$(df / | awk 'NR==2 {print $5}') "
if [ $((i%outputs_per_line)) -eq 0 ]; then
echo
fi
((i++))
sleep "$frequency"
done
$outputs_per_line 数字后面的换行符应防止输出中出现控制台换行符。