magicant / yash

Yet another shell
http://magicant.github.io/yash/
GNU General Public License v2.0
301 stars 28 forks source link

Numeric brace expansion containing parameter #31

Open magicant opened 10 months ago

magicant commented 10 months ago

(Issue migrated from https://osdn.net/projects/yash/ticket/40711)

We now support expansion like this:

$ set -o braceexpand
$ d=. o=1
$ echo {1${d}${d}3} {${o}..3}
1 2 3 1 2 3

This may possibly be a cause of unexpected expansion, for example, like echo {${var}} where var='1..3'.

On the other hand, it would still be useful if the range of numeric brace expansion could be specified by parameters: echo {${from}..${to}}

So my current opinion is that the braces and dots must be literal (not from parameter expansion) but the numbers can be a parameter.

(This behavior is different from that of other shells, though...)