diff --git a/dsmon.sh b/dsmon.sh index fd97fd3..ee8134b 100755 --- a/dsmon.sh +++ b/dsmon.sh @@ -114,6 +114,7 @@ CHECK(){ DRIVEINFO=(${DRIVEINFO}) NUMDRIVES=$((${#DRIVEINFO[@]} / 3)) declare -A DRIVEINFO_TOT DRIVEINFO_FREE DRIVEINFO_FREEPER + declare -a DRIVES for ((i = 0 ; i <= $((${NUMDRIVES}-1)) ; i++)); do ii=$((${i}*3)) @@ -139,14 +140,14 @@ CHECK(){ DRIVEINFO_TOT[$dname]=$dtot DRIVEINFO_FREE[$dname]=$dfree DRIVEINFO_FREEPER[$dname]=$dfreeper + DRIVES+=("$dname") fi done - for x in "${!DRIVEINFO_TOT[@]}"; do printf "[%s]=%s\n" "$x" "${DRIVEINFO_TOT[$x]}" ; done + IFS=$'\n' DRIVES=($(sort <<<"${DRIVES[*]}")); unset IFS + + for x in "${!DRIVES[@]}"; do printf "[%s]=%s\n" "$x" "${DRIVES[$x]}" ; done echo - for x in "${!DRIVEINFO_FREE[@]}"; do printf "[%s]=%s\n" "$x" "${DRIVEINFO_FREE[$x]}" ; done - echo - for x in "${!DRIVEINFO_FREEPER[@]}"; do printf "[%s]=%s\n" "$x" "${DRIVEINFO_FREEPER[$x]}" ; done # if (( $(bc <<<"$dfreeper <= 15") )); then