Vincent Lefevre <vincent-o...@vinc17.net> wrote: |On 2016-09-09 10:32:10 -0400, Chet Ramey wrote: |> So since the whole reason for the interpretation is that the wording was |> bad and shells behaved differently, there can't be any conclusions |> drawn from it. It's a defect in the standard. However...
|I cannot see in Issue 7 how they are supposed to be special here. |And | | http://austingroupbugs.net/view.php?id=221 | |doesn't seem to change anything. At least, they are *not* special |in dash 0.5.8-2.3 and in BusyBox v1.22.1 sh (ash): | |$ foo=abcdef; echo "${foo#'ab'}" |abcdef | |but the other shells regard them as special: | |$ foo=abcdef; echo "${foo#'ab'}" |cdef | |So, is this also unspecified like double quotes? Or should it |be specified that they are special, in which case, dash / ash |are buggy? As petty as i am, to me it seems overly complicated and, note this, inconsistent to add $() in order to get around overly complicated quoting rules in ``, and then _not_ adjusting ${} for a better future but introducing new wording that is (a) not the default behaviour of most shells and (b) adds even more exceptions etc. I would follow the didactic of this thread and vote for what seems to be a sane thing to me, and that is that we should end up with a cleaner, not with a more complicated solution in the future. --steffen