我希望函数“printReps”为它收到不止一次的每个数字打印“错误”1 次,但它只打印一个空行。这是代码,任何人都可以告诉我我的错在哪里,谢谢。
function printReps {
echo $* | { read -a idNumbs
i=0
while (( $i < ${#idNums[*]} )); do
error=0
if (( ${idNums[i]} < 1 )); then
let i++
continue
fi
j=i+1
while (( $j < ${#idNums[*]} )); do
if (( idNums[i] == idNums[j] )); then
idNums[j]=0
error=1
fi
let j++
done
if (( $error == 1 )); then
echo error
fi
let i++
done
}
}
echo `printReps 1 1 23 4 78 23 1 4 9`
所有合法数字都大于 0。