Дополнительная [..]
над арифметической c оценкой является избыточной. Его наличие "заставляет" строковое вычисление результата вычисления арифметики c. Любой из "0" или "1" из $((..))
оценивается как [ -n 0 ]
и [ -n 1 ]
, что всегда верно.
Поэтому просто используйте только оператор arithmeti c или используйте arithmeti c компаратор внутри [..]
, т.е.
if (( i < average )); then
или
if [ "$i" -lt "$average" ]; then