Find the element with the lowest value (text or numeric)
USAGE:{ #@ min arrayname
min() { local arrayname=${1:?Array name required} varname=${2:-var} local IFS= string min e
Copy the array, $arrayname, to local array
eval "array=( \"\${$arrayname[@]}\" )" eval "string=\"\${$arrayname[*]}\"" case $string in *[!0-9]*)
array contains non-numeric value
min=${array[0]} for e in "${array[@]}" do [ "$e" \< "$min" ] && min=$e done ;; *) min=${array[0]} for e in "${array[@]}" do [ "$e" -lt "$min" ] && min=$e done ;; esac eval "$varname=\$min" }