Problematic code:
echo “hello world”
Correct code:
echo "hello world"
Blog software and word processors frequently replaces ASCII quotes "" with fancy Unicode quotes, “”. To bash, Unicode quotes are considered regular literals and not quotes at all.
Simply delete them and retype them in your editor.
Exception:
If you really want literal Unicode double quotes, you can put them in single quotes (or Unicode single quotes in double quotes) to make shellcheck ignore them, e.g.,
printf 'Warning: “wakeonlan” is not installed.\n'