Primeiro, os comandos begin=$begin
e end=$end
não fazem nada, portanto, perca-os. Segundo, em vez de incrementar $begin
conforme você passa pelo loop, crie outra variável (por exemplo, $current
) para o dia em que ele está trabalhando atualmente; defina-o como $begin
no início e pare quando for igual a $end
:
current=$begin
cp *$current-1200*.jpg ./Zeitraffer
while [ $current != $end ]; do
current='date +"%Y%m%d" -d "$current +1 day"'
...