The POSIX spec says,

  The parameter name or symbol can be enclosed in braces, which are
  optional except for positional parameters with more than one digit or
  when parameter is a name and is followed by a character that could be
  interpreted as part of the name.

However, dash seems to diverge from that behavior when we get to $10:

  $ cat test.sh
  echo $10

  $ dash ./test.sh one two three four five six seven eight nine ten
  ten

  $ bash ./test.sh one two three four five six seven eight nine ten
  one0

Reply via email to