我有一个填充了数字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
答案 0 :(得分:0)
引用您的变量。并使用=
代替-eq
来比较字符串而不是数字。
在$
和i
个变量之前,您还需要k
,并且在第二个[
中需要]
和if
周围的空格
if [ "${sumList[$i]}" = "${sumList[$k]}" ] && [ $i -ne $k ]
then
echo "Collision k: $k mit i: $i"
fi