done < <(cmd) to redirect from process substitution
(currently missing one <).sum=0
while IFS="" read -r n
do
(( sum += n ))
done <(file) sum=0
while IFS="" read -r n
do
(( sum += n ))
done < <(file) ShellCheck found a done keyword followed by a process
substitution, e.g. done <(cmd).
The intention was most likely to redirect from this process
substitution, in which case you will need one extra <:
done < <(cmd).
This is because <(cmd) expands to a filename (e.g.
/dev/fd/63), and you need a < to redirect
from filenames.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.