echo
, a command that doesn't read stdin. Bad quoting or
missing xargs
?echo << eof
Hello World
eof
cat << eof
Hello World
eof
You are redirecting to one of several commands that don't read from stdin.
This may happen when:
echo
where cat
was intended.echo <p>Hello
which tries to read from a file
p
.xargs
, e.g. mv -t dir < files
instead of xargs 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.
If you've overridden a command to return output, you can either rename it to make this obvious, or ignore this message.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.