thinkhk 发表于 2018-8-25 08:33:55

shell 找出数组元素中的最大值

  shell 如何比较出数组中所有元素中的最大值?如:
  array=(111 222 333 444 555 999 888 777 666)怎么找出最大的那个元素999呢?
  思路:先设置一个值MAX=${array}即数组的第一个元素,再使用for循环,拿第一个元素与第二个.....比较,当有一个元素比如3号元素比array大时,就把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}
  for I in ${!array[@]};do
  if [[ ${MAX} -le ${array[${I}]} ]];then
  MAX=${array[${I}]}
  fi
  done
  echo ${MAX}

页: [1]
查看完整版本: shell 找出数组元素中的最大值