I have gotten the following to work:
for i in {2..10} do echo \"output: $i\" done
It produces a bunch of lines of output: 2
output: 2
This is a way: Bash:
max=10 for i in $(bash -c "echo {2..${max}}"); do echo $i; done
The above Bash way will work for ksh and zsh too, when bash -c is replaced with ksh -c or zsh -c respectively.
ksh
zsh
bash -c
ksh -c
zsh -c
Note: for i in {2..${max}}; do echo $i; done works in zsh and ksh.
for i in {2..${max}}; do echo $i; done