ディスク容量がしきい値を越えていないかを監視する

#!/bin/sh
#diskusage.sh [しきい値]

limit=80

[ -n "$1" ] && limit="$1"

msg(){
cat << END
警告: 使用容量が$1%を超えているパーティションがあります

`df -h`
END
}

IFS_BAK=$IFS
IFS="
"
for line in `df -h`; do
    val=`expr "$line" : '.*\([1-9][0-9]\)%'`
    if [ -n "$val" ]; then
        tf=`echo "$val > $limit" | bc`
        if [ $tf -eq 1 ]; then
            msg $limit
            exit 1
        fi
    fi
done

IFS=$IFS_BAK