It has been brought to my attention that quoting the "word" in sh's
substring processing causes word to be matched literally rather than
being treated as a pattern. I.e.,
x="abc"
y="?"
echo "${x#"$y"}"
outputs "abc", while
x="abc"
y="?"
echo "${x#$y}"
outputs "bc".I can't see this behaviour specified by SUS nor mentioned in sh(1). bash and ksh seem to behave the same.
