$
/${}
on the left side of assignments.$greeting="Hello World"
${greeting}="Hello World"
greeting="Hello World"
Alternatively, if the goal was to assign to a variable whose name is
in another variable (indirection), use declare
:
name=foo
declare "$name=hello world"
echo "$foo"
Or if you actually wanted to compare the value, use a test expression:
if [ "$greeting" = "hello world" ]
then
echo "Programmer, I presume?"
fi
Unlike Perl or PHP, $
is not used on the left-hand side
of =
when assigning to a variable.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.