Как найти наибольшее число в массиве?

Возможный дубликат:
Как отсортировать массив в BASH

У меня есть числа в массиве 10 30 44 44 69 12 11.... Как отобразить наибольшее из массива?

echo $NUM //result 69

Ответ 1

Вы можете использовать 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

Ответ 2

попробуйте следующее:

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