A expressão:
$ ksh -c 'for ((i=0;i<10;i++)){ echo $i;}'
0
1
2
3
4
funciona corretamente.
Falha ao encontrar a descrição dessa sintaxe na qual o {...;}
está substituindo ; do ...; done
no manual.
Existe uma referência no manual? Para quais conchas isso funciona corretamente?