目标:查找由整数值组成的关联数组的最大/最大值。
max_val=${RA[0]}
for i in "${RA[@]}"
do
#let count=count+1
#curr_val=$i
(( $i > max_val )) && max_val=$i
done
echo "CURR.MAX: $max_val"
问题:运行前面提到的代码时,我没有得到有效的结果。我还注意到用于比较的max_val
变量似乎没有任何价值。另外,我想获得数组的最小值,我想可以以类似的方式获得它。
#!/bin/bash
declare -A RA
RA=([foo]="3" [foo2]="5" [bar]="199" [bar2]="12") # Example
# get first key from associative array
for i in "${!RA[@]}"; do firstkey="$i"; break; done
max_val="${RA[$firstkey]}"
min_val="${RA[$firstkey]}"
for i in "${RA[@]}"; do
(( "$i" > "$max_val" )) && max_val="$i"
(( "$i" < "$min_val" )) && min_val="$i"
done
echo "CURR.MAX: $max_val"
echo "CURR.MIN: $min_val"
输出:
最高电流:199最小电流:3