Skip to content
Vidar Holen edited this page Oct 4, 2015 · 2 revisions

Shells are space sensitive. Use '< <(cmd)', not '<<(cmd)'.

Problematic code:

while IFS= read -r line
do
  printf "%q\n" "$line"
done <<(curl -s http://example.com)

Correct code:

while IFS= read -r line
do
  printf "%q\n" "$line"
done <  <(curl -s http://example.com)

Rationale:

You are using <<( which is an invalid construct.

You probably meant to redirect < from process substitution <(..) instead. To do this, a space is needed between the < and <(..), i.e. < <(cmd).

Exceptions:

None.

Clone this wiki locally