SC2217
Joachim Ansorg edited this page Nov 12, 2021
·
2 revisions
Redirecting to echo, a command that doesn't read stdin. Bad quoting or missing xargs?
Problematic code:
echo << eof
Hello World
eofCorrect code:
cat << eof
Hello World
eofRationale:
You are redirecting to one of several commands that don't read from stdin.
This may happen when:
- Confusing one command for another, e.g. using
echowherecatwas intended. - Incorrectly quoting angle brackets, e.g. using
echo <p>Hellowhich tries to read from a filep. - Missing
xargs, e.g.mv -t dir < filesinstead ofxargs mv -t dir < files(or more safely,tr '\n' '\0' < files | xargs -0 mv -t dir), because stdin should be passed as parameters.
Check your logic, and rewrite the command so data is passed correctly.
Exceptions:
If you've overridden a command to return output, you can either rename it to make this obvious, or ignore this message.