I'm pretty sure the person asking the question on server fault is wrong. They're either leaving out some detail intentionally or are unaware of some weird configuration on the machine (/bin/bash as a link to something else). I tried on the two-week-old bash 4.2 release, on bash 3.2 from CentOS 5, and on bash 2.05a (from 2001) which I built myself just now to try.
The oldest source on ftp.gnu.org is 1.14, but that doesn't build cleanly, and I'm not sure trying it is worthwhile. The documentation for that release contains the exact same key phrases as in the modern documentation:
The order of expansions is: brace expansion, tilde expan-
sion, parameter, variable, command, and arithmetic substitu-
tion (done in a left-to-right fashion), word splitting, and
pathname expansion.
But actually, now that I think of it, that's pointless, since the "{x..y}" syntax was added in bash 3.0, making looking before that useless.
So, let me try 3.0 ... right. Same behavior.
So yeah. I'm extremely skeptical. Something doesn't add up.
(Later...)
Aha! The server-fault questioner admits "Sorry. my mistake. I've put for actual number in i in {1..10}, so it worked well." So, there ya go.
The answer to this question is "no version of bash works like that". :)
{1..$NUM}
to1 2 3 4 …
). – Gilles 'SO- stop being evil' Feb 24 '11 at 19:46