shell 求数组的平均值,求和,最大值,最小值

test.sh

#!/bin/bash
arr=(1 7 3 10 8 5 4 9 6 2)
let min=${arr[0]}
let max=${min}
sum=0
for (( i=0;i<${#arr[*]};i++))
do
        [[ ${min} -gt ${arr[$i]} ]] && min=${arr[$i]}
        [[ ${max} -lt ${arr[$i]} ]] && max=${arr[$i]}
        let sum=sum+${arr[$i]}
done
echo "最小值:$min"
echo "最大值:$max"
echo "求和:$sum"
total=${#arr[*]}
echo -e "平均值:c"
echo "$sum/$total" | bc

输出

bogon:Desktop macname$ ./test.sh 
最小值:1
最大值:10
求和:55
平均值:5