将2个数组与总和值进行比较

时间:2018-03-27 19:03:24

标签: arrays linux bash if-statement sum

我有一个填充了数字1到10的和值的数组,并且在for循环中我想检查数组是否有重复但是这些值是例如00034 1这是2个数字所以我得到的错误信息是"参数太多"我怎么能改变它? 代码:

        while [ $k -le 10 ]
        do
            #the line below is the problem i is the value of another
            #loop the list is in
            if [ ${sumList[i]} -e ${sumList[k]} ]
            then
                    if [$k != $i]
                    then
                            echo "collision k: $k mit i: $i"
                    fi
            fi
            k=$(($k+1))
    done

1 个答案:

答案 0 :(得分:0)

引用您的变量。并使用=代替-eq来比较字符串而不是数字。

$i个变量之前,您还需要k,并且在第二个[中需要]if周围的空格

if [ "${sumList[$i]}" = "${sumList[$k]}" ] && [ $i -ne $k ]
then
    echo "Collision k: $k mit i: $i"
fi