SC2041
Joachim Ansorg edited this page Nov 12, 2021
·
4 revisions
This is a literal string. To run as a command, use $(..) instead of '..' .
Problematic code:
for i in 'seq 1 10'
do
echo "$i"
doneCorrect code:
for i in $(seq 1 10)
do
echo "$i"
doneRationale:
The intent was to run the code in the single quotes. This would have worked with slanted backticks, `..`, but here the very similar looking single quotes '..' were used, resulting in a string literal instead of command output.
This is one of the many problems with backticks, so it's better to use $(..) to expand commands.
Exceptions:
None.