Skip to content
koalaman edited this page Apr 23, 2015 · 4 revisions

This is a literal string. To run as a command, use $(seq 1 10)

Problematic code:

for i in 'seq 1 10'
do
  echo "$i"
done

Correct code:

for i in $(seq 1 10)
do
  echo "$i"
done

Rationale:

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.

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally