If I have noclobber set in my interactive shell (set -o noclobber), I noticed process substitution doesn't work:
# echo hello > >(cat) -bash: /dev/fd/62: cannot overwrite existing file If I turn off noclobber permanently (set +o noclobber) it works fine:
# echo hello > >(cat) hello I tried overriding noclobber with >| like this:
echo hello > >|(cat) -bash: syntax error near unexpected token `>|' Is there a way to disable noclobber temporarily?
UPDATE: actually, it seems unreasonable for noclobber to take effect when the output goes to process substitution, because there is no file that would be "clobbered". It seems like it would be a good and safe to always use the >| and 2>| overrides to noclobber to prevent "cannot overwrite existing file" errors in case noclobber is inadvertently turned on.