forked from koalaman/shellcheck
-
Notifications
You must be signed in to change notification settings - Fork 0
SC1037
Mingye Wang edited this page Mar 1, 2016
·
5 revisions
echo "Ninth parameter: $9"
echo "Tenth parameter: $10"
echo "Ninth parameter: $9"
echo "Tenth parameter: ${10}"
For legacy reasons, $10
is interpreted as the variable $1
followed by the literal string 0
.
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.
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) interpreted as ${10}
, so some 'reversed' care should also be taken:
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