関数「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 より大きいです。