Как найти наибольшее число в массиве? Возможный дубликат: Как отсортировать массив в 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
Ответ 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