Быстрое исправление - убедитесь, что последняя строка обработана, бросая $COUNT
в конце значений, присвоенных i
:
for i in $(seq 1 20 $COUNT) $COUNT;
do
echo "$i"
done
1
21
41
61
81
101
121
125
Если COUNT
совпадает с последнейзначение, сгенерированное seq
, тогда нам нужно добавить логику, чтобы пропустить второй раз;например, если COUNT=121
, то мы хотим пропустить второй раз, когда i=121
, например:
# assume COUNT=121
lasti=0
for i in $(seq 1 20 $COUNT) $COUNT;
do
[ $lasti = $COUNT ] && break
echo "$i"
lasti=$i
done
1
21
41
61
81
101
121