df の実行にずいぶん掛かるようなので、それを1回にしました。次のようなコーディングでいかが?新谷 さんが書きました:単純計算で従来版の3倍時間がかかるっよね
コード: 全て選択
free_flash_func() { #PUPMODE 3,7,13. called every 4 seconds.
WARNMSG=""
# 17nov09 SIZEFREEM by shinobar
DFM=$(df -m)
LINERO=$(echo "$DFM" | grep ' /initrd/pup_ro1$' | tr -s ' ' )
LINERW=$(echo "$DFM" | grep ' /initrd/pup_rw$' | tr -s ' ' )
SIZEM=$(echo $LINERO| cut -f 2 -d ' ')
SIZEWM=$(echo $LINERW| cut -f 2 -d ' ')
[ $SIZEWM -lt $SIZEM ] && SIZEM=$SIZEWM
SIZEUM=$(echo $LINERW| cut -f 3 -d ' ')
SIZEFREEM=$(expr $SIZEM - $SIZEUM)
#SIZEFREEM=`df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 4 -d ' '`
SIZETMPM=$(echo $LINERW| cut -f 4 -d ' ')