我想看到的是df /
每 30 秒發出一次但在前一個數字之後的同一行上的%。
所以最終的輸出是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 數字後面的換行符號應可防止輸出中出現控制台換行符號。