The syntax <(...)
is only supported by BASH.
For any POSIX shell, use this approach:
sh -c 'tail -n 1000 -F catalina.out | if grep -qP --line-buffered ".+" ; then ...'
i.e. move the stdin redirection in front of the if
with a pipe. The if
will pass stdin on to the grep
.
if tail ...| grep
won’t work since the if
won’t be able to see it’s then
/fi
because the pipe separates processes.