Раскрытие фигурных скобок {x..y}
происходит перед заменой переменной $x
. Итак, {0..$x}
не будет работать - расширение фигурных скобок ничего не сделает, а просто расширит x
.
Расширение переменной не происходит в одиночных кавычках. Таким образом, '${startday}'
буквально равно строке, и расширение ${...}
будет , а не . Не забудьте поместить расширения внутри двойных кавычек.
В вашем случае вы могли бы использовать seq
:
for i in $(seq $numdays); do
... "${startday} + $i days"
Я бы:
readarray -t StringArray < <(seq $numdays | xargs -I{} date -I -d "$startday + {} days")