This script hog.bash reports disk use sorted by size. It takes one optional argument, the directory to search.
# paramater expansion with default value, $1 is 1st command line argument
# if $1 exists set Homes to $1, otherwise to /home
Homes=${1:-/home}
# assign each command output line to 2 array elements, account size and name
Accounts=($(du -s $Homes/* 2> /dev/null | sort -k1nr))
# C-style for loop over pairs of array elements
# account names are odd-numbered elements, sizes are even-numbered elements
# -e enables escapes, \t is tab
for (( Index=0 ; Index < ${#Accounts[@]} ; Index+=2 )) ; do
echo -e "${Accounts[Index+1]}\t${Accounts[Index]}"
done
bash hog.bash /home1