shell 如何比较出数组中所有元素中的最大值?如:
array=(111 222 333 444 555 999 888 777 666)怎么找出最大的那个元素999呢?
思路:先设置一个值MAX=${array[0]}即数组的第一个元素,再使用for循环,拿第一个元素与第二个.....比较,当有一个元素比如3号元素比array[0]大时,就把3号元素的值赋值给MAX,最后输出MAX即可!
文本如下
#!/bin/bash
#Author:wangergui Email:291131893@qq.com Date:2016-09-17
#Release 1.0
#Function find maxnum from array
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin
export PATH
declare -a array
array=(111 222 333 444 555 999 888 777 666)
MAX=${array[0]}
for I in ${!array[@]};do
if [[ ${MAX} -le ${array[${I}]} ]];then
MAX=${array[${I}]}
fi
done
echo ${MAX}
本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/1853416,如需转载请自行联系原作者