Updated SC1037 (markdown)

Mingye Wang
2016-03-01 10:53:23 -05:00
parent 98a19c0fdc
commit b905d1988a

@@ -20,6 +20,15 @@ For legacy reasons, `$10` is interpreted as the variable `$1` followed by the li
Curly braces are needed to tell the shell that both digits are part of the parameter expansion.
Please note that accessing any positional parameters beyond `$9` using `${num}` is non-POSIX.
### Exceptions
If you wanted the trailing digits to be literal, `${1}0` will make this clear to both humans and shellcheck.
In `dash`, `$10` is ([wrongly](https://gnu.org/s/autoconf/manual/html_node/Shell-Substitutions.html)) interpreted as `${10}`, so some 'reversed' care should also be taken:
```sh
bash -c 'set a b c d e f g h i j; echo $10 ${1}0' # POSIX: a0 a0
dash -c 'set a b c d e f g h i j; echo $10 ${1}0' # WRONG: j a0
```