如何在数组中找到最高数字?

Cha*_*lie 21 bash

可能重复:
如何在BASH中对数组进行排序

我在数组中有数字10 30 44 44 69 12 11....如何从数组中显示最高?

echo $NUM //result 69
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 41

你可以sort用来找出答案.

#! /bin/bash
ar=(10 30 44 44 69 12 11)
IFS=$'\n'
echo "${ar[*]}" | sort -nr | head -n1
Run Code Online (Sandbox Code Playgroud)

或者,自己搜索最大值:

max=${ar[0]}
for n in "${ar[@]}" ; do
    ((n > max)) && max=$n
done
echo $max
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试这个:

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
Run Code Online (Sandbox Code Playgroud)

结果为 100