我在数组10 30 44 44 69 12 11...
中有数字。如何显示数组中的最高值?
echo $NUM //result 69
答案 0 :(得分:35)
您可以使用sort
查找。
#! /bin/bash
ar=(10 30 44 44 69 12 11)
IFS=$'\n'
echo "${ar[*]}" | sort -nr | head -n1
或者,自己寻找最大值:
max=${ar[0]}
for n in "${ar[@]}" ; do
((n > max)) && max=$n
done
echo $max
答案 1 :(得分:3)
试试这个:
a=(10 30 44 44 69 12 11 100)
max=0
for v in ${a[@]}; do
if (( $v > $max )); then max=$v; fi;
done
echo $max
结果为100