首页 > 解决方案 > 对关联数组元素进行数值比较后的语法错误标记值

问题描述

ISSUE: 试图将同一数组的值与“下一个”或下一个值进行比较,以获得数组中总值的“最大值”。获得“max_val”后,我想在程序结束时显示该值。运行以下代码后,将显示错误消息(在底部)

function data_rank ()
{
        printf '\n'
        #count=0
        # count variable to check the current state of loop

        # loop cycles through current values for comparison
        for i in "${RA[@]}"
        do
                #let count=count+1
                curr_val=$i

                for x in "${RA[@]:1}"
                do
                        # error toke value considered tobe the nxt_val
                        # need to change the

                        nxt_val=$x # next value use array comparison

                        if (( $curr_val -gt $nxt_val ))
                        then
                                max_val=$curr_val
                                printf " CURR.MAX: $max_val"

                        elif (( $curr_val -lt $nxt_val ))
                        then
                                max_val=$nxt_val
                                printf "CURR.MAX: $max_val"
                        else
                                max_val=$curr_val
                                printf "CUR.MAX: $max_val"
                        fi
                done
        done
}

目的:根据用户提供的数组获取最大值、最小值和平均值。

((: 8757 -gt 17514 : syntax error in expression (error token is "XXXXX ") 

其中“X”是用于比较的数字。

标签: arrayslinuxbashfor-loopconditional-statements

解决方案


推荐阅读